Dieses Makro fügt die Nummern in Spalte E ein und "färbt" in der Spalte F.
Sub Farben()
Dim intZ As Integer
For intZ = 1 To 56
Cells(intZ, 5) = intZ
Cells(intZ, 6).Interior.ColorIndex = intZ
Next
End Sub
Excel kann jedoch mit wesentlich mehr Farben umgehen, nämlich auch den RGB-Farben. Die kann man natürlich nicht alle auflisten, weil Excel in einer Mappe nur begrenzt Zellformate haben kann. Aber man kann Bereiche darstellen, zum Beispiel so:
Sub Farben1()
Dim lngZ As LongPtr, intS As Integer, lngF As Long
Dim lngStart As LongPtr
Dim datBeg As Date
Workbooks.Add
ActiveSheet.Columns.ColumnWidth = 5
ActiveWindow.Zoom = 10
intS = 2
lngZ = 0
lngStart = 9895936
On Error GoTo FEHLER
For lngF = lngStart To lngStart + 65279
lngZ = lngZ + 1
Cells(lngZ, intS) = lngF
Cells(lngZ, intS).Interior.Color = lngF '65430
If lngZ Mod 256 = 0 Then
intS = intS + 1
lngZ = 0
End If
Next
MsgBox Format(Now - datBeg, "mm:ss")
Exit Sub
FEHLER:
MsgBox "Abbruch bei " & lngF & vbNewLine & "Fehler: " & Err.Number & vbNewLine & Err.Description
End Sub
Mit der Zahl in lngStart kann einfach experimentiert werden.
Möglich ist auch, mit den RGB-Werten direkt zu arbeiten. Alle auf einmal verkraftet Exel nicht, also muss hier entweder mit Step oder durch kleinere Abbruchwerte reduziert werden:
Sub Farben2()
Dim lngZ As LongPtr, intS As Integer, strRGB As String
Dim datBeg As Date
Dim r As Integer, g As Integer, b As Integer
Workbooks.Add
ActiveSheet.Columns.ColumnWidth = 5
ActiveWindow.Zoom = 10
intS = 2
lngZ = 0
On Error GoTo FEHLER
For r = 0 To 255 Step 10
For g = 0 To 255 Step 7
For b = 0 To 255 Step 5
lngZ = lngZ + 1
strRGB = r & "|" & g & "|" & b
'Cells(lngZ, intS) = strRGB
Cells(lngZ, intS).Interior.Color = RGB(r, g, b)
If lngZ Mod 256 = 0 Then
intS = intS + 1
lngZ = 0
End If
Next
Next
Next
MsgBox Format(Now - datBeg, "mm:ss")
Exit Sub
FEHLER:
MsgBox "Abbruch bei " & strRGB & vbNewLine & "Fehler: " & Err.Number & vbNewLine & Err.Description
End Sub
Die zweite Variante ist wahrscheinlich die optisch schönste, die ergibt solche Verläufe: