Przeglądnij poniższy kod:
Private Sub but_Click()
Dim tabl As New Collection, i As Integer, etyk As Control
'tworzysz kolekcję unikatowych (bez powtórzeń) kolorów
On Error Resume Next
For i = 1 To 17
tabl.Add Cells(i, "I").Interior.Color, CStr(Cells(i, "I").Interior.Color)
Next i
On Error GoTo 0
'zakładam sytuację, że kolorów jest więcej niż labelków
i = 1
For Each etyk In Controls
If TypeName(etyk) = "Label" Then etyk.BackColor = tabl(i): i = i + 1
Next etyk
End Sub |