我對excel VBA相對比較陌生,我試着編寫一個代碼來檢查兩個值並突出顯示與IF語句匹配的值。VBA循環遍歷2個範圍,並將IF語句應用於這兩個範圍的值
在表格中,我需要遍歷兩個不同範圍中的所有值,一個範圍的值是日期,另一個值是幾個不同的字符串,並高亮顯示(橙色)與以下內容對應的行要求:(1)第一範圍值> =到今天的日期和(2)第二範圍值=「樣本收據」。我還需要遍歷日期範圍的所有值,並突出顯示(黃色)與vale>今天的日期對應的行。所有其他不符合這些要求的行都需要以淺藍色突出顯示。
我的第一個代碼(如下所示)有效,但它突出了第二個範圍的所有值=「樣本收據」。
Dim LastRow As Long
Dim cell As Range
Dim cell2 As Range
Worksheets("Sheet3").Activate
With ActiveSheet
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For Each cell In Range("K3:K" & LastRow)
If cell.Value >= Date Then
cell.Range("A1:K1").Offset(0, -10).Interior.ColorIndex = 6
ElseIf cell.Value >= Date - 7 Then
For Each cell2 In Range("H3:H" & LastRow)
If cell2.Value = "Sample Receipt" Then
cell2.Range("A1:K1").Offset(0, -7).Interior.ColorIndex = 45
Else
cell2.Range("A1:K1").Offset(0, -7).Interior.Color = RGB(220, 230, 242)
End If
Next
Else
cell.Range("A1:K1").Offset(0, -10).Interior.Color = RGB(220, 230, 242)
End If
Next
End With
我不能想到另一種方法來設置For循環,以允許我需要和我已經查看周圍。
的之前和之後的圖像將是有益的,因爲當你說的亮點行,你的代碼只突顯某些細胞(所以它是什麼呢?),你可以申請多個標準如果這是你的意圖(對我來說不清楚),用'和'表示一個if語句。 – findwindow
這是一些時髦的代碼 - For Each cell2循環對我來說沒有意義。你確定你無法得到你想要的條件格式嗎? –
如果您想查看與cell相同行的H列值,那麼您可以使用'cell.Offset(0,-3)' –