Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1288to1292
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Label in Abh. von Combobox bei Autofilter

Label in Abh. von Combobox bei Autofilter
28.11.2012 14:30:09
Combobox
Hallo zusammen
Ich lasse eine Combobox über eine Liste füllen, die einen gesetzten Autofilter hat.
Nun möchte ich wenn die Auswahl in der Combobox geändert wird, ein Label umbenannt werden, dessen Wert 3 Spalten rechts neben dem Wert der in der Combo ist...
Bisher (ohne gesetzten Autofilter) funktionierte diese Variante
Private Sub ComboBox1_Change()
Label1.Caption = Range("C" & ComboBox1.ListIndex + 1)
End Sub

Dit funktioniert ja nu nicht mehr, weil der gesetzte Autofilter ja "ignoriert" wird...
Gibt hierfür ne Lösung?
Gruß Gegga

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Label in Abh. von Combobox bei Autofilter
28.11.2012 21:51:29
Combobox
Hallo Gegga,
mache deine Combobox 2-Spaltig, in die erste Spalte liest du wie bisher die auszuwählenden Werte ein.
In die 2. Spalte die Werte 3 Spalten rechts von den auszuwählenden Werten.
Unter den Eigenschaften stellst du unter Columnwidth den Wert für die 2. Spalte auf 0 Punkte (z.b: 50Pt;0Pt).
Wenn du einen Wert in der Combobox wählst, dann kannst du die Label-Beschriftung über die Listeigenschaft setzen.

Private Sub ComboBox1_Change()
With Me.Combobox1
Me.Label1.Caption = .List(.ListIndex, 1)
End With
End Sub
Gruß
Franz

Anzeige
AW: Label in Abh. von Combobox bei Autofilter
29.11.2012 08:54:22
Combobox
Moin Franz...
Hmmmm... Also das mit dem 2 Spaltig habe ich einigermaßen verstanden...
Meine Werte habe ich bisher einlesen mit unten stehendem Code...
Aber wie bekomme ich den Wert drei Spalten weiter in die 2te Spalte der Combobox beim initialize Aufruf?
Dim Bereich_CB_LIEF_1
Dim zelle_CB_LIEF_1 As Range
Set Bereich_CB_LIEF_1 = [LIEFERANTEN] ' = SHEET LIEFERANTEN SPALTE A ZEILE 3-50
For Each zelle_CB_LIEF_1 In Bereich_CB_LIEF_1
If zelle_CB_LIEF_1 "" And zelle_CB_LIEF_1.EntireRow.Hidden = False Then UF_START.CB_LIEF_1.AddItem zelle_CB_LIEF_1.Value
Next
Könntest mir da behilflich sein? Oder hat vielleicht jemand anders noch nen Tipp oder ne Seite wo ich mich mal allgemein einlesen kann in das Thema einer 2 Spaltigen Combobox? (kannte ich bisher überhaupt nicht)
Gruß Gegga

Anzeige
AW: Label in Abh. von Combobox bei Autofilter
01.12.2012 11:24:06
Combobox
Hallo Gegga,
sollte etwa so funktionieren.
  Dim Bereich_CB_LIEF_1
Dim zelle_CB_LIEF_1 As Range
Set Bereich_CB_LIEF_1 = [LIEFERANTEN] ' = SHEET LIEFERANTEN SPALTE A ZEILE 3-50
For Each zelle_CB_LIEF_1 In Bereich_CB_LIEF_1
If zelle_CB_LIEF_1  "" And zelle_CB_LIEF_1.EntireRow.Hidden = False Then
With UF_START.CB_LIEF_1
.AddItem zelle_CB_LIEF_1.Value
'in die 2. Spalte (Zählung beginnt bei 0!) der Listbox den Wert _
3 Spalten rechts von zelle_CB_LIEF_1 eintragen
.List(.ListCount - 1, 1) = zelle_CB_LIEF_1.Offset(0, 3).Value
End With
End If
Next
Bei sehr langen Listen geht es sehr viel schneller, wenn man die Datenliste über ein Datenarray erstellt und dieses dann als Ergebnis der List-Eigenschaft der Listbox/Combibox zuweist.
nachfolgend (ungetestet) auf dein Problem zugeschnitten ein Beispiel.
Gruß
Franz
  Dim Bereich_CB_LIEF_1, arrListe(), lngCount As Long
Dim zelle_CB_LIEF_1 As Range
Set Bereich_CB_LIEF_1 = [LIEFERANTEN] ' = SHEET LIEFERANTEN SPALTE A ZEILE 3-50
ReDim arrListe(0 To 1, 1 To Bereich_CB_LIEF_1.Rows.Count)
lngCount = 0
For Each zelle_CB_LIEF_1 In Bereich_CB_LIEF_1
If zelle_CB_LIEF_1  "" And zelle_CB_LIEF_1.EntireRow.Hidden = False Then
lngCount = lngCount + 1
arrListe(0,lngCount) = zelle_CB_LIEF_1.Value
arrListe(1,lngCount) = zelle_CB_LIEF_1.Offset(0, 3).Value
End If
Next
If lngCount > 0 Then
ReDim arrListe(0 To 1, 1 To lngCount)
UF_START.CB_LIEF_1.List = Application.WorksheetFunction.Transpose(arrListe)
End If
Erase arrListe

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige