Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1128to1132
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

AddItem nicht nach leerem Feld

AddItem nicht nach leerem Feld
Rainer
Hallo,
befülle eine ComboBox mit folgendem Code:

With Tabelle9.Columns(8)
Set rZelle = .Find(What:=Trim(ComboBox7.Value), LookAt:=xlWhole, LookIn:=xlValues)
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
ComboBox8.AddItem .Range("C" & rZelle.Row).Value
Set rZelle = .FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address  sFundst
Else
End If
End With

Nun habe ich das Problem, dass mein Suchbegriff aufgrund Gliederung mehrmals vorhanden ist.
In meiner Suchspalte habe ich dann allerdings Leerzeilen.
Ist es mit AddItem auch möglich, nur ab dem ersten gefundenen Eintrag bis zur dann kommenden Leerzelle zu suchen?
Gruß
Rainer
AW: AddItem nicht nach leerem Feld
20.01.2010 22:37:36
Ramses
Hallo
Probier mal
With Tabelle9.Columns(8)
    Set rzelle = .Find(What:=Trim(ComboBox7.Value), LookAt:=xlWhole, LookIn:=xlValues)
    If Not rzelle Is Nothing Then
        sFundst = rzelle.Address
        combobox8.AddItem .Range("C" & rzelle.Row).Value
        For i = rzelle.Row To Cells(Rows.Count, 8).End(xlUp).Row
            If Cells(i, 8) <> "" Then
                combobox8.AddItem Cells(i, 8).Value
            Else
                Exit Sub
            End If
        Next i
    End If
End With

Gruss Rainer
Anzeige
AW: AddItem nicht nach leerem Feld
20.01.2010 23:11:37
Gerd
Hallo Rainer,
oder so?
Sub Test()
Dim rZelle As Range, sFundst As String
With Tabelle9.Columns(8)
Set rZelle = .Find(What:=Trim(ComboBox7.Value), LookAt:=xlWhole, LookIn:=xlValues) 'xxx fü _
r Test
If Not rZelle Is Nothing Then
sFundst = rZelle.Address
Do
ComboBox8.AddItem .Range("C" & rZelle.Row).Value
If IsEmpty(rZelle.Offset(1)) Then Exit Do
Set rZelle = .Range(.Cells(rZelle.Row + 1), .Cells(rZelle.End(xlDown).Row)).Find( _
rZelle)
If rZelle Is Nothing Then Exit Do
Loop While rZelle.Address  sFundst
Else
MsgBox "Not found!"
End If
End With
End Sub
Gruß Gerd
Anzeige
Nein...
20.01.2010 23:14:59
Ramses
Hallo
Er will ja nach dem gefundenen Suchbegriff eine Anzahl X Zellen einlesen und nicht einen weiteren neuen Suchebgriff.
Gruss Rainer
AW: Weis man es?
20.01.2010 23:25:17
Gerd
Hi,
.... bis zur nächsten leeren Zeile suchen
Warten wir die Rückmeldung ab.
Gruß
Gerd
AW: AddItem nicht nach leerem Feld
20.01.2010 23:23:41
Rainer
Sorry,
vergaß die Einstellung "eMail-Benachrichtigung", deshalb erst jetzt noch eine Antwort.
Vielen Dank für Eure Mithilfe.
Leider funktionieren beide Codes nur zum Teil. In beiden wird nur der erste Eintrag angezeigt.
Bin leider VBA-Anfänger, könnte es sein, dass diese Zeile
Set rZelle = .FindNext(rZelle)

noch irgendwo fehlt?
Gruß Rainer
Anzeige
AW: AddItem nicht nach leerem Feld
21.01.2010 00:21:57
Rainer
Hallo,
zur Klarheit einfach mal eine Beispieltabelle
https://www.herber.de/bbs/user/67367.xls
In der letzten ComboBox (8) ist nur jeweils ein Wert aus Tabelle2 Spalte J enthalten.
Vielleicht ist es für Euch ein leichtes.
Gruß Rainer
AW: AddItem nicht nach leerem Feld
21.01.2010 00:24:54
Gerd
Hallo Rainer,
wie Du siehst, ist deine knappe Beschreibung unterschiedlich angekommen.
Lade doch eine Beispiel-Tabelle hoch u. erkläre zur Abgrenzung, wie, wo, was
etwas genauer.
Gruß Gerd
AW: AddItem nicht nach leerem Feld
21.01.2010 00:34:08
Rainer
Hallo Rainer,
hallo Gerd,
danke für Eure Mühe.
Für den Fall, dass ich mit dem upload zu kurz beschrieben habe.
Am übersichtlichsten ist es mit
Anlass: Fahrzeugwechsel
- ergibt Thema: Rund ums Fahrzeug
- müsste in ComboBox8 die Auflistung: PKW, Neufahrzeug und PKW, Gebrauchtfahrzeug ergeben.
Es erscheint aber nur PKW, Neufahrzeug.
Mit meinem bisherigen Code waren zwar alle Werte aufgelistet, aber leider auch die Werte, welche sich nicht mehr auf die erste ComboBox bezogen.
In diesem Fall am besten sichtbar, wenn in der ersten ComboBox "ohne Anlass" steht.
Gruß Rainer
Anzeige
AW: AddItem nicht nach leerem Feld
21.01.2010 15:19:40
Rainer
Hallo,
kann ich nochmal Euren Rat bekommen?
Habe nochmal etwas recherchiert und über http://www.digital-inn.de/excel-und-vba/38175-2-listbox-abhaengig-von-combobox.html einen Ansatz gefunden und die Tabelle/UserForm mal nachgebaut (konnte die Original-Tabelle dort nicht downloaden.
https://www.herber.de/bbs/user/67386.xls
Die Lösung hier scheint für mich als Laie im Ansatz zu passen, bekomme Sie allerdings nicht integriert, da ich über zwei Arbeitsblätter arbeite.
Ist mein Code in ComboBox7 nun komplett neu zu schreiben?
Gruß Rainer
Anzeige
lade ein Beispiel hoch...
25.01.2010 08:44:14
Tino
Hallo,
lade doch mal ein Beispiel hoch wie es bei Dir aufgebaut ist.
Gruß Tino
AW: lade ein Beispiel hoch...
25.01.2010 23:23:20
Rainer
Hallo Tino,
vielen Dank für Dein Angebot.
Das Problem lag an den doppelten Themen bzw. Details, welche immer wieder über die gesamte Spalte gesucht wurden. Die Tabelle mal zur Ansicht: https://www.herber.de/bbs/user/67488.xls
Nach dem ich das in digital-inn.de gefunden habe, habe mit dem Begriff "Scripting.Dictionary" weiter recherchiert und in einem anderen Forum weitere Beispiele gefunden. Mein Ergebnis nun hier: https://www.herber.de/bbs/user/67489.xls
Möchte jedoch erwähnen, dass ich dort über PN Hilfe bei einem User erfragt habe.
Aufgrund dessen habe ich meinen neuen Ansatz (zweite Tabelle) dort gepostet.
Antworten stehen allerdings noch aus.
Hinweis:
Einziges Problem im Arbeitsblatt - Fehlermeldung beim Start über den CommandButton (funktioniert allerdings beim zweiten Klick).
Desweiteren wäre schöner, wenn ich auf die Hilfsspalten in Tabelle1 (H8 und H9) verzichten könnte.
Weiß aber nicht, wie ich die Variablen vom einen Sub ins nächste bekommen würde.
Die UserForm scheint jedoch (leider) so nicht ganz zu stimmen.
Habe den Code im wesentlichen aus dem Arbeitsblatt kopiert.
Hier klappt es vor allem nicht, wenn ich nach einem Klick in die ListBox in der ComboBox2 erneut auswähle.
Gruß Rainer
P.S.: sollte ich weiter gekommen sein, werde ich dies natürlich auch berichten.
Anzeige
AW: lade ein Beispiel hoch...
26.01.2010 08:56:29
Tino
Hallo,
bin mir nicht sicher ob du es so meinst.
Die Combobox auf Tabelle1 wird gefüllt wenn Du die Tabelle2 verlässt,
dies ist in der Regel wenn z. Bsp. was eingetragen wurde in Tabelle2.
Bzw. wird sie auch beim öffnen der Datei gefüllt.
Eventuell dafür andere Events auswählen.
https://www.herber.de/bbs/user/67496.xls
Gruß Tino
AW: lade ein Beispiel hoch...
26.01.2010 11:30:54
Rainer
Hallo Tino,
vielen Dank, das Projekt ist erfolgreich abgeschlossen.
Das Problem war nicht, dass ich die ComboBoxen nicht korrekt befüllt bekam.
Vielmehr wollte ich dann die in der ListBox1 gefüllten Werte nutzen, um die dazu gehörigen Werte in das Arbeitsblatt mit zu übernehmen.
Vielen Dank auch an Gerd und Ramses.
Gruß Rainer
Anzeige
AW: lade ein Beispiel hoch...
26.01.2010 08:43:35
Rainer
Hallo Tino,
habe Problem gelöst.
War dann gestern doch etwas zu spät geworden, so dass ich in die UserForm nicht alle Codes korrekt überarbeitet habe.
Nun verblieben nur noch die auf Tabelle1 zwischengespeicherten Informationen.
Sprich Variablenverwendung von einem Sub im nächsten.
Aber das ist in Anbetracht des Endergebnisses keine Problem. Verstecke diese einfach auf Tabelle2.
Dennoch danke für Dein erneutes Aufgreifen meines Thread.
Falls es interessiert lade ich auch gerne die fertige Tabelle hoch.
Gruß Rainer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige