Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何使用VBA更改单元格的格式化字体颜色?_Excel_Vba - Fatal编程技术网

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

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.

我想根据条件选择excel工作表中的行,然后编辑同一行中其他单元格的格式

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


现在,我如何将所选行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