当打开电子表格时,我正在尝试创建一个宏到所有带有红色填充的单元格,我现在有下面的内容,但是它甚至没有显示一个msgbox,有什么想法吗?
Sub test()
Dim ws As Worksheet
Set ws = Sheets("Month End Tasks")
Dim i As Integer
i = 1
Do Until i = 11
If ws.Range("C" & i).Interior.Color = RGB(255, 0, 0) Then
MsgBox "C" & i & " is red!!"
End If
i = i + 1
Loop
End Sub谢谢,
发布于 2017-09-05 14:05:33
使用以下方法尝试查看C1到C11的RGB颜色:
Sub WriteCellColor()
Dim ws As Worksheet
Dim i As Long
Set ws = ActiveSheet
i = 1
Do Until i = 11
Debug.Print ws.Range("C" & i).Address
Debug.Print getRGB2(ws.Range("C" & i).Interior.Color)
i = i + 1
Loop
End Sub
Public Function getRGB2(l_long) As String
Dim c As Long
Dim R As Long
Dim G As Long
Dim B As Long
c = l_long
R = c Mod 256
G = c \ 256 Mod 256
B = c \ 65536 Mod 256
getRGB2 = "R=" & R & ", G=" & G & ", B=" & B
End Function它将在“立即”窗口中打印RGB颜色的摘要。如下所示:
$C$1
R=255, G=0, B=0
$C$2
R=255, G=255, B=0一个更简单的方法是简单地选择带有颜色的单元格并按下。
格式Cells>Patterns>Colors>Custom

那么RGB值是可见的。
关于条件格式,最好应用与条件相同的逻辑:Excel 2007 conditional formatting - how to get cell color?。
https://stackoverflow.com/questions/46056806
复制相似问题