Excel 设置行中单元格范围内的背景色(不使用条件格式)

Excel 设置行中单元格范围内的背景色(不使用条件格式),excel,vba,Excel,Vba,复制粘贴代码是糟糕的编码风格,但我需要一个快速的解决方案。我想更改rownot列中几个单元格的单元格背景色。我在复制和粘贴的代码下面写了几行代码,但不确定我做错了什么。最终,我希望循环能够正常工作,这样我就可以稍后检查不同数值范围的单元格值 If Range("C5").Value = 0 Then Range("C5").Interior.Color = XlRgbColor.rgbRed If Range("D5").Value = 0 Then Range("D5").Interior.C

复制粘贴代码是糟糕的编码风格,但我需要一个快速的解决方案。我想更改rownot列中几个单元格的单元格背景色。我在复制和粘贴的代码下面写了几行代码,但不确定我做错了什么。最终,我希望循环能够正常工作,这样我就可以稍后检查不同数值范围的单元格值

If Range("C5").Value = 0 Then Range("C5").Interior.Color = XlRgbColor.rgbRed
If Range("D5").Value = 0 Then Range("D5").Interior.Color = XlRgbColor.rgbRed
If Range("E5").Value = 0 Then Range("E5").Interior.Color = XlRgbColor.rgbRed
If Range("F5").Value = 0 Then Range("F5").Interior.Color = XlRgbColor.rgbRed

If Range("C8").Value = 0 Then Range("C8").Interior.Color = XlRgbColor.rgbRed
If Range("D8").Value = 0 Then Range("D8").Interior.Color = XlRgbColor.rgbRed
If Range("E8").Value = 0 Then Range("E8").Interior.Color = XlRgbColor.rgbRed
If Range("F8").Value = 0 Then Range("F8").Interior.Color = XlRgbColor.rgbRed
*****我想使用的代码*****

  'Set myRange = Range("C5:F17")
    'Dim cell As Range
    'For Each cell In myRange.Rows(1)
    'If cell.Value = 0 Then cell.Interior.Color = XlRgbColor.rgbRed
    'Next cell
    'If myRange.Rows(1).Value = 0 Then myRange.Interior.Color = XlRgbColor.rgbRed
    Application.ScreenUpdating = True
End Sub  

添加.Cells使其成为myrange.Rows1.Cells。原因是没有它单元格是一个范围$C$5:$F$5,您可以通过Debug.Print cell.Address看到。

需要->myrange.Rows1.Cells才能访问每个单元格

为什么不呢?你的代码出了什么问题?不确定我做错了什么-代码哪里出了问题,或者没有做你想做的事情?预期结果和实际结果是什么?在这种情况下,CF更简单。代码在我的for循环中失败。如果myRange.Rows1.Value=0,那么myRange.Interior.Color=XlRgbColor.rgbreed肯定不会工作,但循环看起来很好。添加.Cells使其成为myRange.Rows1。Cells@Chris-是,如果在行1中循环,单元格将引用整个行1,而不是其中的每个单元格。