vba - EXCEL VBA 将选定单元格更改为颜色

标签 vba excel

我正在尝试编写一段 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/

相关文章:

vba - Excel VBA WorkSheet.Excel 2013 之后的复制

vba - MS Excel VBA - 在类内设置 ADODB.Connection 的问题

excel - 通过命令行使用 LibreOffice 将 .xls 转换为 .pdf

excel - 查找列标题、复制数据并将值粘贴到另一个工作簿中

vba - 如何检测何时未传递可选 ByRef 参数

vba - 如何在 VBA 中将 Excel 工作表中的列自动调整为仅到某一行?

excel - VBA - 检查列表对象中的数据是否被过滤

mysql - Excel VBA连接远程MySQL数据库

java - 如何在apache-poi中正确使用样式格式?

java - Excel VBA 从下载对话框打开文件