Excel 更改单元格颜色时下标超出范围错误
嗨,我是vba新手,我可能不太理解它,但我无法解释为什么会出现运行时错误9:下标超出范围错误,代码应该将单元格的背景颜色更改为另一种颜色Excel 更改单元格颜色时下标超出范围错误,excel,vba,runtime-error,subscript,Excel,Vba,Runtime Error,Subscript,嗨,我是vba新手,我可能不太理解它,但我无法解释为什么会出现运行时错误9:下标超出范围错误,代码应该将单元格的背景颜色更改为另一种颜色 Sub CompareWorksheets(ws1 As Worksheet, ws2 As Worksheet) Dim r As Long, c As Integer Dim lr1 As Long, lr2 As Long, lc1 As Integer, lc2 As Integer Dim maxR As Long, max
Sub CompareWorksheets(ws1 As Worksheet, ws2 As Worksheet)
Dim r As Long, c As Integer
Dim lr1 As Long, lr2 As Long, lc1 As Integer, lc2 As Integer
Dim maxR As Long, maxC As Integer, cf1 As String, cf2 As String
Dim DiffCount As Long
Application.ScreenUpdating = False
With ws1.UsedRange
lr1 = .Rows.Count
lc1 = .Columns.Count
End With
With ws2.UsedRange
lr2 = .Rows.Count
lc2 = .Columns.Count
End With
maxR = lr1
maxC = lc1
If maxR < lr2 Then maxR = lr2
If maxC < lc2 Then maxC = lc2
DiffCount = 0
For c = 1 To maxC
For r = 1 To maxR
cf1 = ""
cf2 = ""
On Error Resume Next
cf1 = ws1.Cells(r, c).FormulaLocal
cf2 = ws2.Cells(r, c).FormulaLocal
On Error GoTo 0
If cf1 <> cf2 Then
DiffCount = DiffCount + 1
ws1.Cells(r, c).Activate
ws1.Cells(r, c).Select
=============> ws1.Cells(r, c).Interior.ColorIndex = RGB(200, 20, 20) <============
End If
Next r
Next c
Application.ScreenUpdating = True
End Sub
Cell.Interior.ColorIndex不是RGB值,而是枚举值。
可能的值为:
xlColorIndexAutomatic,意思是自动着色
xlColorIndexNone,表示没有颜色
这就是您无法成功将其设置为RGB值的原因
要将背景色设置为RGB颜色,请改用Interior.color属性。Cell.Interior.ColorIndex不是RGB值,而是枚举值。
可能的值为:
xlColorIndexAutomatic,意思是自动着色
xlColorIndexNone,表示没有颜色
这就是您无法成功将其设置为RGB值的原因
要将背景色设置为RGB颜色,请改用Interior.color属性。我发现在RGB中使用Interior.color with&H标记也可以
例如:
RGB=192 0 0---Hex=C00000---RGB&HC0,&H0,&H0
RGB=84 130 53十六进制=548235---RGB&H54、&H82和H35
RangeC1.Interior.Color=RGB&HC0,&H0,&H0
范围C1.Interior.Color=RGB和H54、H82和H35
单元格1,3.Interior.Color=RGB&HC0,&H0,&H0
单元格1、3.Interior.Color=RGB和H54、H82和H35
我发现在RGB中使用Interior.Color和&H标记也可以
例如:
RGB=192 0 0---Hex=C00000---RGB&HC0,&H0,&H0
RGB=84 130 53十六进制=548235---RGB&H54、&H82和H35
RangeC1.Interior.Color=RGB&HC0,&H0,&H0
范围C1.Interior.Color=RGB和H54、H82和H35
单元格1,3.Interior.Color=RGB&HC0,&H0,&H0
单元格1、3.Interior.Color=RGB和H54、H82和H35