HERBERS Excel-Forum - das Archiv
mit VBA Farbe von CB´s steuern
CB´s

Hallo Community,
ich resigniere gerade ein wenig und benötige Eure Hilfe.
Ich habe in einer UserForm diverse CommandButtons die je nach Verknüpfung diverse Farben annehmen sollen. Die Steuerung der Farbe wird auf dem Excel-Blatt gemacht (im Beispiel unten aus Zelle D15 mit dem Wert &H0080FFFF&).
VBA soll nun die Farbe aus D15 in eine Variable packen und dem CB zuweisen.
Bislang habe ich folgendes:
Option Explicit
Dim colour_1 As String

Private Sub UserForm_Activate()
colour_1 = Sheets("ABC").Range("D15").Value
UserForm41.CommandButton31.BackColor = colour_1
End Sub

Leider ist diese Aktion "Typenunverträglich". Weiß jemand Rat?
Herzlichen Dank von Gabriel

AW: mit VBA Farbe von CB´s steuern
CB´s

Hi,
m.E. kan VBA an diser Stelle nich tmit Hex-Werten umgehen, das muss in RGB-Werte umgerechnet werden.
Gruß
Regina
AW: mit VBA Farbe von CB´s steuern
CB´s

Hi
in der Zelle muss der normale Zahlenwert der Farbe stehen und die Variable colour_1 als Long oder Double deklariert sein.
ich würde hier aber die Zelle in der Wunschfarbe einfärben und dann den Zahlwert aus dem Zellformat auslesen:
dim colour_1 as Long
colour_1 = Sheet("ABC").Range("D15").Interior.Color
Gruß Daniel
AW: mit VBA Farbe von CB´s steuern
CB´s

Hallo

UserForm41.CommandButton31.BackColor = val(colour_1)

AW: mit VBA Farbe von CB´s steuern
CB´s

Hallo Gabriel,
du musst das abschließende & löschen, dann so:
Dim strTemp As String
strTemp = Worksheets("ABC").Range("D15").Value
If Right$(strTemp, 1) = "&" Then strTemp = Left$(strTemp, Len(strTemp) - 1)
CommandButton1.BackColor = Clng(strTemp)

Gruß
Nepumuk
AW: mit VBA Farbe von CB´s steuern
CB´s

Vielen Dank an alle. Ich werde alles testen.
Euch eine schöne hoffentlich kurze Woche.
Gabriel