我正在尝试编写一段 VB,它将运行一个 iff 语句,然后如果为 true,则更改为 true 的行的颜色。目前我只能改变一个单元格的颜色。
VB 看起来像这样。
Sub Blue()
Set A = Sheets("Analysis")
Dim d
Dim j
d = 1
j = 1
Do Until IsEmpty(A.Range("B" & j))
If (A.Range("F" & j) <> A.Range("G" & j)) Or (A.Range("H" & j) <> A.Range("I" & j)) Then
d = d + 1
A.Range("B" & j).Interior.ColorIndex = 28
End If
j = j + 1
Loop
End Sub
这有效。当我尝试更改此设置以突出显示表中的单元格选择时。我收到 1004 运行时错误 亚蓝()
Set A = Sheets("Analysis")
Dim d
Dim j
d = 1
j = 1
Do Until IsEmpty(A.Range("B" & j))
If (A.Range("F" & j) <> A.Range("G" & j)) Or (A.Range("H" & j) <> A.Range("I" & j)) Then
d = d + 1
A.Range("A:U" & j).Interior.ColorIndex = 28
End If
j = j + 1
Loop
End Sub
我花了很多时间在互联网上查找,但找不到任何答案来解释为什么这不起作用。任何帮助将不胜感激。
我正在使用 VB,因为这将是 VB 的很大一部分的一部分。
最佳答案
要更改 A 列到 U 列的颜色,请使用以下命令:
A.Range("A"& j & ":U"& j).Interior.ColorIndex = 28
- 在您的行中,您缺少 A 列的行。
要更改整行的颜色,请使用以下命令:
A.Range("B"& j).EntireRow.Interior.ColorIndex = 28
关于vba - EXCEL VBA 将选定单元格更改为颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37614001/