Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA: Suche über Userforn mit 2 Kriterien pro Zeile

VBA: Suche über Userforn mit 2 Kriterien pro Zeile
27.09.2017 14:15:04
Leon
Hallo,
im Moment habe ich ein VBA Script, welches per Userform und Combobox meine Excel Tabelle nach einer bestimmten Nummer in Spalte H durchsucht und dann das aktuelle Datum in eine andere Spalte (E) schreibt. (Danke noch einmal an Harry für seine Hilfe!)
Besagte Nummer kann jedoch öfter vorkommen und es müsste zusätzlich in einer weiteren Spalte (D) gesucht werden um die richtige Zeile zu finden. (Am liebsten auch über eine ComboBox).
Leider komme ich hier nicht wirklich weiter. Gibt es da eine Möglichkeit?
Hier einmal das aktuelle Script:
Private Sub CommandButton1_Click()
Dim rngFind As Range
Dim firstAddress As String
If ComboBox1 = "" Then Exit Sub
With Bereich '--Rangeobject
Set rngFind = .Find(ComboBox1, LookIn:=xlFormulas) 'sucht Cbo Eintrag
If Not rngFind Is Nothing Then
firstAddress = rngFind.Address '--erste Trefferaddresse
Do
Cells(rngFind.Row, 5) = Date '--SpalteE Zeile = Trefferzeile
Set rngFind = .FindNext(rngFind) '--suche naechste Zelle
Loop While rngFind.Address  firstAddress '--mach so lange wie erste Trefferaddresse   _
_
Trefferaddresse
End If
Vielen Dank im Vorraus
Leon
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA: Suche über Userforn mit 2 Kriterien pro Zeile
28.09.2017 05:41:06
fcs
Hallo Leon,
baue dir eine weitere Combobox zur Auswahl der Werte in Spalte D in dein Userform ein.
Dann sollte es mit folgender Anpassung im Makro passen.
Private Sub CommandButton1_Click()
Dim rngFind As Range
Dim firstAddress As String
If ComboBox1 = "" Then Exit Sub
If ComboBox2 = "" Then Exit Sub
With Bereich '--Rangeobject
Set rngFind = .Find(ComboBox1, LookIn:=xlFormulas) 'sucht Cbo Eintrag
If Not rngFind Is Nothing Then
firstAddress = rngFind.Address '--erste Trefferaddresse
Do
If Cells(rngFind.Row,4).Text = Me.Combobox2.Text Then
Cells(rngFind.Row, 5) = Date '--SpalteE Zeile = Trefferzeile
End If
Set rngFind = .FindNext(rngFind) '--suche naechste Zelle
Loop While rngFind.Address  firstAddress '--mach so lange wie erste Trefferaddresse   _
_
Trefferaddresse
End If
Gruß
Franz
Anzeige
AW: VBA: Suche über Userforn mit 2 Kriterien pro Zeile
28.09.2017 10:40:02
Leon
Hallo Franz,
es funktioniert wunderbar, vielen Dank! =)
Eine kleine Frage hätte ich jedoch noch. Ich würde gerne die ComboBox2 mit den gefundenen Werten füllen.
Ich habe mir das ungefähr so gedacht, jedoch funktioniert es nicht ganz. Gibt es da eine andere oder einfachere Option?
Dim rngFind As Range
Dim firstAddress As String
If ComboBox1 = "" Then Exit Sub
ComboBox2.Clear
With Bereich '--Rangeobject
Set rngFind = .Find(ComboBox1, LookIn:=xlFormulas) 'sucht Cbo Eintrag
If Not rngFind Is Nothing Then
firstAddress = rngFind.Address '--erste Trefferaddresse
Do
ComboBox2.AddItem Cells(rngFind.Row, 2)
Set rngFind = .FindNext(rngFind) '--suche naechste Zelle
Loop While rngFind.Address  firstAddress
End If
End With
End Sub

Anzeige
AW: VBA: Suche über Userforn mit 2 Kriterien pro Zeile
28.09.2017 10:55:44
Leon
Es funktioniert solange ein einzelner Eintrag vorhanden ist. Sobald jedoch mehrere gleiche Nummern vorhanden sind funktioniert es nicht mehr. Wahrscheinlich wegen dem Befehl ComboBox2.Clear, kann ich den Befehl irgendwie aus der Schleife ausschließen?
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige