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

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

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?

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige