Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1644to1648
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

Combobox erste Zeile!

Combobox erste Zeile!
26.09.2018 16:35:59
Peter
Hallo ihr Excelspezialisten,
mit nachstehendem Code filtere ich die Spalten A und B mit Wert aus Label1.
In der Combobox1 werden dann die gefilterten Werte angezeigt.
Was ich jedoch nicht möchte, es wird als oberste Zeile beim Öffnen der Combobox
eine leere Zeile angezeigt.
Wie kann ich bitte die leere Zeile verhindern?
Private Sub CommandButton1_Click()
Dim letzte As Long
Dim Wert As String
'Wert = "Zweck"
Wert = UserForm2.Label1
With Sheets("Tabelle2")
letzte = .Cells(.Rows.Count, 1).End(xlUp).Row
'    Range("A1:B8").Select
Range("A1:B" & letzte).Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$B" & letzte).AutoFilter Field:=2, Criteria1:=Wert
With ComboBox1
.Clear
.ColumnCount = 2 'zweite Spalte in Listbox einrichten
'  .ColumnWidths = CStr(.Width) & ";0" 'Spaltenbreite der zweiten Spalte auf 0
.ColumnWidths = "3cm;0" 'Spaltenbreite der zweiten Spalte auf 0
.ColumnHeads = False
.AddItem ""
For lngZeile = 2 To Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
If Not Rows(lngZeile).Hidden Then
.AddItem Cells(lngZeile, 1)
.List(.ListCount - 1, 1) = lngZeile 'Zeilennummer in die zweite Spalte schreiben
End If
Next
End With
End With
End Sub

Besten Dank für eure Hilfe.
Gruss
Peter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: habs gefunden
26.09.2018 16:39:36
Peter
.additem "" deaktiviert.
AW: falsch
26.09.2018 16:46:12
Peter
Fehler doch nicht gefunden.
Beim Deaktivieren wird erste Zeile nicht mehr gewählt.
Was kann ich bitte ändern?
Gruss
Peter
AW: falsch
26.09.2018 16:58:50
Matthias
Moin!
Komme noch nicht ganz mit. Bei .additem "" ist eine leere Zeile zuviel. Wenn das raus ist, fehlt die leere Zeile und noch die eigentlich erste mit einem Wert also 2 Zeilen?
Greifst du sonst noch wo auf die Combo zu bspw. beim INitialize? Und du filterst nach Spalte B, trägst aber den Wert aus Spalte A ein. Ist da auch immer sichergestellt, dass dort ein Wert drin steht? Wenn B zutrifft und A leer ist, wird der auch erfasst.
Ansonsten sehe ich auch keinen Feher. Das mit dem .additem müsste raus, da du dir einen leeren Eintrag generierst. Ansonsten sollte alles passen.
VG
Anzeige
AW: Datei gepostet
26.09.2018 17:23:19
Robert
Hallo Matthias,
Du bist schon auf dem richtigen Weg. Wenn Du die Zeile
.additem ""
rausnimmst, enthält die KomboBox keine leere Zeile mehr. Angezeigt wird die KomboBox allerdings noch ohne Inhalt also leer. Wenn standardmäßig der erste Eintrag angezeigt werden soll, musst Du am Ende des "With ComboBox1-Blocks" noch die Zeile
.ListIndex = 0
einfügen.
Gruß
Robert
AW: leider nein Lösung gefunden
26.09.2018 17:50:04
Peter
Hallo Robert,
danke für Deine Hilfe.
Ich habe folgende Änderungen vorgenommen:
Private Sub CommandButton1_Click()
Dim letzte As Long
Dim Wert As String
'Wert = "Zweck"
Wert = UserForm2.Label1
With Sheets("Tabelle2")
letzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Range("A1:B" & letzte).Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$B" & letzte).AutoFilter Field:=2, Criteria1:=Wert
With ComboBox1
.Clear
.ColumnCount = 2 'zweite Spalte in Listbox einrichten
.ColumnWidths = "3cm;0" 'Spaltenbreite der zweiten Spalte auf 0
.ColumnHeads = False
'  .AddItem ""  'leere erste Zeile in Liste
.AddItem "Bitte benötigten Wert auswählen"  'leere erste Zeile in Liste nicht wählbar  -geä _
ndert-
For lngZeile = 2 To Sheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row 'beginnt in der 2.  _
Zeile
If Not Rows(lngZeile).Hidden Then
.AddItem Cells(lngZeile, 1)
.List(.ListCount - 1, 1) = lngZeile 'Zeilennummer in die zweite Spalte schreiben
End If
Next
.ListIndex = 0     -eingefügt-
End With
End With
End Sub

Private Sub ComboBox1_Change()
With ComboBox1
'If .ListIndex  0 Then
If .ListIndex > 0 Then      -geändert-
TextBox1 = Sheets("Tabelle2").Cells(.List(.ListIndex, 1), 1)
End If
End With
End Sub
Private Sub TextBox1_Change()
Selection.AutoFilter    'löscht nach dem Ausfüllen den Autofilter
ComboBox1.Value = ""  -eingefügt-
End Sub
Jetzt funktioniert es so wie ich es benötige.
Besten Dank für die schnelle Hilfe.
Gruss
Peter
Anzeige
AW: Combobox erste Zeile!
26.09.2018 16:54:43
Hajo_Zi
Hallo Peter,
nur wenige schauen auf Deinen Rechner und sehen die Datei.
Ich möchte gerne den Fehler im Original sehen.
Ich baue keine Datei nach. Die Zeit hat schon jemand investiert.
Ein Nachbau sieht meist anders aus als das Original. Darum sollte das Original verlinkt werden.
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten anonymisieren bzw. pseudonymisieren.
Benutze hier im Forum die Funktion zum hochladen. Falls Du die nicht benutzen möchtest beachte, von unsicheren Servern wie z.B. www.file-upload.net lade ich keine Datei runter. (lt. Einschätzung meines Virenprogramms)

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
Anzeige
AW: Combobox erste Zeile!
26.09.2018 17:05:12
Peter
Hallo Hajo,
Datei anbei:https://www.herber.de/bbs/user/124249.xlsm
Gruss
Peter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige