返回列表 上一主題 發帖

[發問] 指定2列或3列的同欄同時都有數字時,則標示底色的語法

[發問] 指定2列或3列的同欄同時都有數字時,則標示底色的語法


(最後有數字的列 - 2)和(最後有數字的列 - 3)的二列之同欄都<>""時,則標示淡紫底色。

(最後有數字的列 - 2)和(最後有數字的列 - 3)和(最後有數字的列 - 4)的三列之同欄都<>""時,則標示玫瑰紅底色。

請問︰VBA語法要如何編寫?
謝謝幫忙!
測試檔︰
依條件標示底色的語法.rar (6.61 KB)

回復 10# 准提部林
准提版大:
Bug已完全消除了。
謝謝您的幫忙!感恩!

TOP

回復 9# ziv976688

Sub 標示底色()
Dim r&, c&, k%, Km, U&, xE As Range
If IsDate([A2]) = False Then Exit Sub
r = [A1].End(xlDown).Row
c = [A1].End(xlToRight).Column
Km = Array("", 40, 39, 38)
Range([B2], Cells(r, c)).Interior.ColorIndex = 0
U = r - 2: If U > 2 Then U = 2
For i = 2 To c
    k = 0: Set xE = Cells(r, i)
For j = r To r - U Step -1
    If Cells(j, i) = "" Then Exit For Else k = k + 1
Next
    If k > 0 Then xE(-k + 2).Resize(k).Interior.ColorIndex = Km(k)
Next
End Sub

TOP

本帖最後由 ziv976688 於 2019-4-16 09:16 編輯

回復 6# 准提部林
主檔&測試用檔.rar (12.08 KB)
不好意思,因為工作表的列數不盡相同,所以程式執行後,有產生一些Bug(詳如圖片)。
敬請您賜正!謝謝您!
T_1       
T_2       
T_3       

TOP

本帖最後由 ziv976688 於 2019-4-7 16:14 編輯

回復 6# 准提部林

版主大大:您好!
結論出來了~
For j = r To r - 3 Step -1
當最後4期都有數字時,就會有Bug了~產生偵錯。

For j = r To r - 2 Step -1
當最後4期都有數字時,會如需求將最後3期的數字標示指定的底色。

謝謝您的耐心指導和幫忙!感恩

TOP

回復 6# 准提部林
版主:您好!
For j = r To r - 3 Step -1
測試過近100個範例,答案都正確,所以沒有發現錯誤^^"

For j = r To r - 2 Step -1
感謝您的修正^^

TOP

回復 4# ziv976688

昨天匆匆做, 未再審察, 修正一下:
For j = r To r - 3 Step -1  >>> 3 改成 2 才對

TOP

回復 3# hcm19522


    h大大:
謝謝您的函數解~感恩!

TOP

回復 2# 准提部林

感謝版主的幫忙。
問題解決了!感恩!

TOP

google"EXCEL迷"  blog  或google網址:https://hcm19522.blogspot.com/

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題