Excel 如何使用VBA更改单元格的格式化字体颜色?
我想根据条件选择excel工作表中的行,然后编辑同一行中其他单元格的格式 我知道我可以使用自动筛选选择行(列n等于“”):Excel 如何使用VBA更改单元格的格式化字体颜色?,excel,vba,Excel,Vba,我想根据条件选择excel工作表中的行,然后编辑同一行中其他单元格的格式 我知道我可以使用自动筛选选择行(列n等于“”): 现在,我如何将所选行F列的字体更改为白色 您可以使用VBA来更改单元格的背景色,方法是使用.Interior.ColorIndex=RGB(r,g,b):红色和单元格内文本的字体颜色。font.color=RGB(r,g,b):红色 应定义更改这些属性的范围,如您在问题中选择的列和行所述,因此,假设您选择了F列和第12行,则应如下所示: Range("F12").Font.
现在,我如何将所选行F列的字体更改为白色 您可以使用VBA来更改单元格的背景色,方法是使用
.Interior.ColorIndex=RGB(r,g,b):红色
和单元格内文本的字体颜色。font.color=RGB(r,g,b):红色
应定义更改这些属性的范围,如您在问题中选择的列和行所述,因此,假设您选择了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
我怎样才能使它与我的自动过滤器一起工作?如果我输入rng2=rng.AutoFilter字段:=4,字段:=4,准则1:=“我收到一个错误,我建议您只需滚动所有行,而不使用静态范围。通过这种方式,您可以隔离一个要修改的单元格。您能举个例子吗?我只想给F栏中空白的行涂上颜色(因此我想自动化这个过程)。我编辑了我的答案,向您展示了一个您可以采取的方法的示例
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