目标:
如果在单元格中找到单词“Total”,则以单词“Total”作为起点(列中带字母D)并且一直到字母H的当前行应具有浅灰色背景颜色。如果没有“总计”,则背景应为默认值。
问题:
我应该如何使用VBA?
答案 0 :(得分:1)
您可以使用条件格式进行尝试。 只需选择单元格,然后转到“格式” - > “条件格式化”(这是Excel 2003中的路径,不知道2007年或更晚)
但如果你愿意,可以用宏来做。 以下是如何执行此操作的示例:
Sub RowsToGrey()
Dim r As Long, i As Long
r = Cells(Rows.Count, 4).End(xlUp).Row
For i = 1 To r
If InStr(Cells(i, 4), "Total") Then
Range(Cells(i, 4), Cells(i, 8)).Interior.ColorIndex = 15
Else
Range(Cells(i, 4), Cells(i, 8)).Interior.ColorIndex = 0
End If
Next i
End Sub
我希望有所帮助。
答案 1 :(得分:0)
有关条件格式设置背景,请参阅Debra's site。使用纯条件格式仅突出显示活动行的实际方法实际上相当困难 - 我在那里得到了99.9%但我还需要一个该死的计算事件来刷新公式以使其工作
FWIW,如果您申请:
D:H
范围=AND(NOT(ISERROR(SEARCH("Total",$D7))),ROW(INDIRECT(CELL("address")))=ROW(INDIRECT(ADDRESS(ROW()+RAND()*0,COLUMN()))))
Calcuate
活动
醇>
第2步
View - Code
码
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calculate
End Sub