A macro to get all interior colorindex has been used in thisworkbook
1集合的方法:
Sub getallcolor()
Dim sh As Worksheet, x As New Collection, colors(), c As Range, i As Long
On Error Resume Next
For Each sh In Sheets
For Each c In sh.UsedRange
x.Add c.Interior.ColorIndex, "key" & c.Interior.ColorIndex
Next
Next
ReDim colors(1 To x.Count)
For i = 1 To x.Count
colors(i) = x(i)
Next
MsgBox "The following colorindex has been used in thisworkbook:" & vbCrLf & vbCrLf & Join(colors, vbCrLf)
End Sub
2字典的方法:
Sub getallcolor()
Dim sh As Worksheet, r As Range, mycolor As Integer
With CreateObject("scripting.dictionary")
For Each sh In Sheets
For Each r In sh.UsedRange
mycolor = r.Interior.ColorIndex
If Not .exists(mycolor) Then .Add mycolor, Nothing
Next
Next
MsgBox "The following colorindex has been used in thisworkbook:" & vbCrLf & Join(.keys, vbLf)
End With
End Sub