使用Visual Basic格式化Excel单元格

时间:2016-01-27 13:20:26

标签: excel vba excel-vba

我只是想为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 。有没有更有效的方法来尝试?请帮忙!

3 个答案:

答案 0 :(得分:0)

替换它;

 If ActiveCell.value = "OK" Then

有了这个;

1,2,3
4,5,6
7,8,9
etc.

答案 1 :(得分:0)

首先,如果不是真的需要,请尽量避免使用selectactive*。大多数情况下可以避免使用它们并减慢代码速度。 因此,而不是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)

这是我的回答......

this

或者你可以使用条件格式......

评估所需列的单元格内容的位置。我觉得这对你说的更好。

enter image description here