Hallo,
wie in der Überschrift bereits angedeutet suche ich nach einer Möglichkeit die Hintergrundfarbe von Listeneinträgen einer ComboBox einzeln zu ändern.
Gibt es da eine Lösung?
Gruß,
Kevin
Hallo,
wie in der Überschrift bereits angedeutet suche ich nach einer Möglichkeit die Hintergrundfarbe von Listeneinträgen einer ComboBox einzeln zu ändern.
Gibt es da eine Lösung?
Gruß,
Kevin
VBA farbige Einträge in einer Combobox
Hallo Kevin,
wie in der Überschrift bereits angedeutet suche ich nach einer
Möglichkeit die Hintergrundfarbe von Listeneinträgen einer
ComboBox einzeln zu ändern.
Gibt es da eine Lösung?
nein.
Aber es gibt workarounds.
Deine Einträge stehen farbig, beliebig formatiert, fett usw. in z.B. Tabelle2!A1:A30, markiere den Bereich und kopiere ihn mit Strg+c.
Dann startest du ein Grafikprogramm, z.B. Irfanview (gibts kostenlos im Internet) und fügst die Grafik mit Strg+v ein. Das Bild speicherst du dann als jpg ab.
Im Vb-Editor erstellst du nun eine Userform. Darauf einen Rahmen mit vertikaler Bildlaufleiste, einem Commandbutton mit Aufschrift „Abbrechen“.
In den Rahmen fügst du als Hintergrundbild deine vorher erzeugte Grafik ein.
Über jeden Eintrag im Hintergrundbild legst du eine transparente Checkbox, jede Checkbos benennst du mit dem Eintrag über dem sie steht.
Das sieht dann so aus:
http://www.bilder-space.de/show.php?file=16.11PEEovq…
Über Einfügen Klasenmodul fügst du eines ein und benennst es „clsCheck“
Nachfolgend sind die Codes die du brauchst und wo sie stehen müssen.
Im Tabellenblatt 1 erstellst du einen CommandButton aus Ansicht–Symbolleisten–Steuerelemttoolbox.
Nun ist der Ablauf so, durck Klick auf den Button siehst du die Userform, dort kannst du einen Eintarg auswählen, er steht dann in Tabelle1!A1, Tabelle1!A1 ist quasi die Linkedcell deiner nachgebauten Listbox.
Für eine nachgebaute Cobobox mußt du oberhalb des Rahmens nur noch ein Textfeld einbauen und dieses befüllen mit dem was in Tabelle1!A1 steht.
Hier ist die fertige mappe:
http://www.hostarea.de/server-11/November-a76d9e8a08…
Das Ganze ist natürlich undynamisch, also wenn sich die Auswahlliste ändert mußt du wieder ein neues Bild davon machen usw.
Den kompletten Vorgang den ich oben beschrieb kann man auch mit Vba machen lassen, also die Uf erstellen, Bild in Rahmen einfügen, A1:A30 in ein Bild umwandeln usw. aber das war mir doch jetzt zu aufwendig dafüf den Code zu schreiben, aber machbar ist das.
Gruß
Reinhard
in Tabelle1:
Option Explicit
'
Private Sub CommandButton1\_Click()
Fahrer.Show
End Sub
in der UF mit dem Namen „Fahrer“
Option Explicit
'
Private Sub CommandButton1\_Click()
Unload Me
End Sub
'
Private Sub UserForm\_Initialize()
Dim CB As Control
Dim CheckCount1 As Integer
For Each CB In Me.Controls
If TypeName(CB) = "CheckBox" Then
CheckCount1 = CheckCount1 + 1
ReDim Preserve cCheck(1 To CheckCount1)
Set cCheck(CheckCount1).CheckBox = CB
End If
Next CB
End Sub
Im Klassenmodul „clsCheck“
Option Explicit
Public WithEvents CheckBox As MSForms.CheckBox
'
Private Sub checkBox\_Change()
Range("A1").Value = CheckBox.Caption
Unload Fahrer
End Sub
im Modul1:
Option Explicit
Public cCheck() As New clsCheck
Hi,
undynamisch hilft mir leider nicht viel, da ich aber nur die Hintergrundfarbe ändern will (und hier habe ich zwei feste) würden zei Bilder reichen, die dann dynamisch vergeben werden könnten.
Leider habe ich aber eine ComboBox und keine CheckBox. Also ein DropDown, welches bei ensprechend vielen Einträgen auch noch scrollbar ist. Damit würde diese Lösung flach fallen oder?
Ich finde im Internet ständig Ansätze über „ListView“. Leider sagt mir das nix und ich finde nirgens nix genaues. Ist das eine Möglichkeit?
Gruß,
Kevin
Hallo Kevin,
undynamisch hilft mir leider nicht viel, da ich aber nur die
Hintergrundfarbe ändern will (und hier habe ich zwei feste)
würden zei Bilder reichen, die dann dynamisch vergeben werden
könnten.
?
Leider habe ich aber eine ComboBox und keine CheckBox. Also
ein DropDown, welches bei ensprechend vielen Einträgen auch
noch scrollbar ist. Damit würde diese Lösung flach fallen
oder?
Ich glaube du hast mich nicht verstanden, die Checkboxen dienen einzig dazu eine Combo/List Box nachzubilden.
Ich finde im Internet ständig Ansätze über „ListView“. Leider
sagt mir das nix und ich finde nirgens nix genaues. Ist das
eine Möglichkeit?
M.W. kannst du auch in einem Listview Objekt nicht einzlne Zeilen färben.
Gruß
Reinhard
Ich glaube du hast mich nicht verstanden, die Checkboxen
dienen einzig dazu eine Combo/List Box nachzubilden.
ach so - das hatte ich wirklich nicht richtig verstanden. dann muss ich mich da mal näher einlesen.
M.W. kannst du auch in einem Listview Objekt nicht einzlne
Zeilen färben.
wie gesagt - ich steige da nicht so ganz durch (kenne das Listview-objekt auch nicht)
http://www.aboutvb.de/khw/artikel/khwlvwaltlinesback…