Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen

mit VBA Farbe von CB´s steuern


Betrifft: mit VBA Farbe von CB´s steuern von: Gabriel
Geschrieben am: 30.09.2019 15:57:04

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

  

Betrifft: AW: mit VBA Farbe von CB´s steuern von: Regina Resch-Jansen
Geschrieben am: 30.09.2019 16:07:16

Hi,
m.E. kan VBA an diser Stelle nich tmit Hex-Werten umgehen, das muss in RGB-Werte umgerechnet werden.

Gruß
Regina


  

Betrifft: AW: mit VBA Farbe von CB´s steuern von: Daniel
Geschrieben am: 30.09.2019 16:11:39

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


  

Betrifft: AW: mit VBA Farbe von CB´s steuern von: peterk
Geschrieben am: 30.09.2019 16:17:20

Hallo


UserForm41.CommandButton31.BackColor = val(colour_1)




  

Betrifft: AW: mit VBA Farbe von CB´s steuern von: Nepumuk
Geschrieben am: 30.09.2019 17:02:33

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


  

Betrifft: AW: mit VBA Farbe von CB´s steuern von: Gabriel
Geschrieben am: 01.10.2019 08:03:02

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


Beiträge aus dem Excel-Forum zum Thema "mit VBA Farbe von CB´s steuern"