只是从Excel 2016中的VBA开始。.
我正在尝试找出一个脚本来为非空单元格提供背景色
这就是我得到的:
If Range("a3:g8").Value = "" Then
Interior.Color = RGB(222, 244, 180)
End If
但是它不起作用。我在做什么错了?
答案 0 :(得分:0)
您可以将单元格定义为单个变量并循环通过。参见下面的代码
Dim rng As Range, cell As Range
Set rng = Range("a3:g8")
For Each cell In rng
If cell.Value = "" Then
cell.Interior.Color = RGB(222, 244, 180)
End If
Next
答案 1 :(得分:0)
要定位空白单元格,
With Range("a3:g8")
.FormatConditions.Delete
with .FormatConditions.Add(Type:=xlExpression, Formula1:="=A3=TEXT(,)")
.Interior.Color = RGB(222, 244, 180)
end with
End With
要定位非空单元格,
With Range("a3:g8")
.FormatConditions.Delete
with .FormatConditions.Add(Type:=xlExpression, Formula1:="=A3<>=TEXT(,)")
.Interior.Color = RGB(222, 244, 180)
end with
End With
答案 2 :(得分:0)
您要尝试的是将整个范围的值与“”进行比较,这将引发类型不匹配错误。您将必须一一检查每个单元格的值,或尝试使用简单的Excel公式的以下代码:
If WorksheetFunction.CountA(Range("A3:G8")) = 0 Then
Range("A3:G8").Interior.Color = RGB(222, 244, 180)
Else
MsgBox "Range has some value"
End If