我只是想为Excel文件组合一些Visual Basic行,因此当特定列的单元格内容满足特定的比较条件时,相应行的颜色将采用预定义的颜色。这是一些测试代码:
Private Sub Worksheet_Activate()
If ActiveCell = "OK" Then
Range("A13:E13").Select
With Selection.Interior
.ColorIndex = 4
.Pattern = xlSolid
End With
End If
End Sub
显然,这必须适用于所有工作表,不仅仅适用于13.此外,问题是上述功能不适用于 ActiveCell 。有没有更有效的方法来尝试?请帮忙!
答案 0 :(得分:0)
替换它;
If ActiveCell.value = "OK" Then
有了这个;
1,2,3
4,5,6
7,8,9
etc.
答案 1 :(得分:0)
首先,如果不是真的需要,请尽量避免使用select
或active*
。大多数情况下可以避免使用它们并减慢代码速度。
因此,而不是Range("A13:E13").Select
而不是`selection.interior'
'Range( “A13:E13”)。Interior'
您想要检查单元格的值。所以'activecell.value'不仅仅是activecell。更好的'工作表(x).cells(y,z).value'或'worksheets(x).range(“yz”)。value'
答案 2 :(得分:0)