如何使用VBA更改单元格的格式字体颜色?

我想根据条件在我的Excel表格中select行,然后在同一行中编辑其他单元格的格式。

我知道我可以使用自动筛选器select行(列n等于“”):

Sub beautify() Dim rng As Range Set rng = ActiveSheet.Range("F60:AJ3272") rng.AutoFilter Field:=4, Field:=4, Criteria1:="" End Sub 

现在如何将我select的行的列F的字体更改为白色。

您可以使用VBA使用.Interior.ColorIndex = RGB(r, g, b) : red更改单元格的背景颜色,并使用.Font.Color = RGB(r, g, b) : red要改变这些属性的范围应该被定义,就像在你的问题中提到的那个列和你select的行一样,所以说你select了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 

我对你的代码做了一些细微的修改,

 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