我想根据条件在Excel工作表中选择行,然后编辑同一行中其他单元格的格式。
我知道我可以使用自动过滤器选择行(列n等于“”):
Sub beautify()
Dim rng As Range
Set rng = ActiveSheet.Range("F60:AJ3272")
rng.AutoFilter Field:=4, Field:=4, Criteria1:=""
End Sub
现在如何将我选择的行的列F的字体更改为白色。
答案 0 :(得分:2)
您可以使用VBA使用.Interior.ColorIndex = RGB(r, g, b) : red
更改单元格的背景颜色,并使用.Font.Color = RGB(r, g, b) : red
更改单元格内部文本的字体颜色
应该定义更改这些属性的范围,例如在您的问题中由列和您选择的行提及,所以说您选择了列F和第12行它应该如下所示:
Range("F12").Font.Color = -4142
所以说你想滚动列的每一行,并改变你可以做的每个空白单元格的颜色:
Dim i As Long
For i = 1 To Rows.Count
'Column F is 6
If Cells(i, 6).Value = "" Then
Cells(i, 1).Interior.ColorIndex = RGB(150, 0, 0)
Next i
答案 1 :(得分:0)
我对您的代码进行了一些修改,但它确实有效:
Sub beautify()
Dim i As Long
For i = 1 To 50
If Cells(i, 9).Value = "" Then
ActiveSheet.Range(Cells(i, 10), Cells(i, 31)).Font.Color = vbBlack
ActiveSheet.Range(Cells(i, 8), Cells(i, 8)).Font.Color = vbWhite
End If
Next i
End Sub