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

VBA Userform-Suche auf mehrere Spalten ausweiten

VBA Userform-Suche auf mehrere Spalten ausweiten
04.04.2019 11:22:56
Senad
Guten Tag liebe Community,
Ich habe eine Suchfunktion in meiner Userform per VBA integrieren können, welche folgenden Code beinhaltet (die Suche findet per Enter-Button statt):
Private Sub CommandButton12_Click()
Dim StrSuch As String, firstadr As String, weiter%, sucher As Variant
If KeyCode = 13 Then
'Suche durchführen auf Button (inaktiv):
StrSuch = TextBox1.Text
If StrSuch  "" Then
With Sheets("Übersicht").Range("a5:a6000")
Set sucher = .Find(what:=StrSuch, Lookat:=xlWhole)
If Not sucher Is Nothing Then
firstadr = sucher.Address
ListBox1.ListIndex = sucher.Row - 5
weiter = MsgBox("Weitersuchen?", 36)
If weiter = 6 Then
Do
Set sucher = .FindNext(sucher)
ListBox1.ListIndex = sucher.Row - 5
weiter = MsgBox("Weitersuchen?", 36)
If weiter = 7 Then Exit Sub
Loop While Not sucher Is Nothing And sucher.Address  firstadr
End If
End If
End With
End If
End If
End Sub
Die Suche funktioniert auch soweit Prima, jedoch nur für die Stoffbezeichnungen (Spalte A) vermutlich weil diese auch in der ListBox hinterlegt ist!
Kurze Übersicht:
In Spalte A der Tabelle steht die "Stoffbezeichnung", in Spalte B eine "Alternative oder IUPAC-Bezeichnung" und in Spalte C steht eine "CAS-Nummer".
Bisher sucht das Marko also nur in Spalte A nach den eingegebenen Begriff und macht einen Abgleich mit den Begriffen aus ListBox1, wo auch nur die Stoffbezeichnungen aufgelistet sind und keine weiteren Merkmale. Nun wäre die Frage, ob man die Suche auf die anderen Spalten ausweiten könnte OHNE dass die Begriffe überhaupt verglichen werden, er soll also lediglich Spalte A, B, C des Excel Dokuments nach den eingegebenen Suchbegriff durchforsten und dann Row des Excel Dokuments -5 in der ListBox markieren (da die ListBox bei 1 beginnt, jedoch das Excel-Sheet in Zeile 5)
Ich habe schon herumgewerkelt mit Range und versucht ohne einen Abgleich der ListBox irgendeine Lösung zustande zu kriegen, jedoch bisher ohne Erfolg...
Habt ihr vielleicht eine pfiffige Idee und könnt mir weiterhelfen?
Lieben Gruß

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Userform-Suche auf mehrere Spalten ausweiten
04.04.2019 12:26:39
Rudi
Hallo,
ich würde sagen:
With Sheets("Übersicht").Range("A5:C6000")
Gruß
Rudi
AW: VBA Userform-Suche auf mehrere Spalten ausweiten
04.04.2019 12:39:09
Senad
Hallo Rudi und vielen Dank!
Das habe ich bereits probiert! War mein erster Ansatz, der leider nicht funktioniert hat, weil halt dieser Abgleich mit der ListBox1 besteht, vermute ich mal... *_*
Sonst eine Idee?
AW: VBA Userform-Suche auf mehrere Spalten ausweiten
04.04.2019 12:39:09
Senad
Hallo Rudi und vielen Dank!
Das habe ich bereits probiert! War mein erster Ansatz, der leider nicht funktioniert hat, weil halt dieser Abgleich mit der ListBox1 besteht, vermute ich mal... *_*
Sonst eine Idee?
VBA Userform-Suche auf mehrere Spalten
04.04.2019 12:58:46
Rudi
Hallo,
du hast eine Listbox mit ~6000 Zeilen?
Anzeige

351 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige