Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1800to1804
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

Suche per VBA über mehrere Tabellenblätter - Ausgabe in Listbox

Suche per VBA über mehrere Tabellenblätter - Ausgabe in Listbox
19.12.2020 21:57:05
Kathleen
Hi alle zusammen!
mit dem folgenden Code prüfe ich, ob im Tabellenblatt "Tabelle1" der Suchbegriff (zu finden in TextBox1) schonmal vorkam. Die entsprechenden Ergebnisse/ Zeilen werden dann in einer Listbox ausgegeben. Funktioniert auch alles super, aber nun möchte ich gerne, dass das Programm in Tabelle1 und Tabelle2 sucht und die Ergebnisse in der Listbox wiedergibt. Habt ihr eine Idee, wie ich das Problem am besten löse?
Ich lerne leider erst noch VBA und hoffe, dass ihr mir hier weiterhelfen könnt.
Lieben Dank im Voraus.
Kati
Dim rngCell As Range
Dim strFirstAddress As String
Dim wks As Worksheet, lngZeile As Long
Set wks = Worksheets("Tabelle1")
With Me.ListBox_Ergebnisse
.Clear
.ColumnCount = 4
.ColumnWidths = "1,5cm;1,7cm;1,7cm;2,5cm"
End With
With wks.Range("A:G")
Set rngCell = .Find(Me.TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not rngCell Is Nothing Then
strFirstAddress = rngCell.Address
Do
lngZeile = rngCell.Row
With Me.ListBox_Ergebnisse
.AddItem
.List(.ListCount - 1, 0) = wks.Cells(lngZeile, 1).Value
.List(.ListCount - 1, 1) = wks.Cells(lngZeile, 4).Value
.List(.ListCount - 1, 2) = wks.Cells(lngZeile, 5).Value
.List(.ListCount - 1, 3) = wks.Cells(lngZeile, 8).Value
End With
Set rngCell = .FindNext(rngCell)
Loop While Not rngCell Is Nothing And rngCell.Address strFirstAddress
Else
MsgBox "Keine Doppelungen gefunden", 48
End If
End With

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

Betreff
Datum
Anwender
Anzeige
AW: Suche per VBA über mehrere Tabellenblätter - Ausgabe in Listbox
19.12.2020 22:32:24
GerdL
Moin Kati!
Dim rngCell As Range
Dim strFirstAddress As String
Dim wks As Worksheet, lngZeile As Long, x As Integer
With Me.ListBox_Ergebnisse
.Clear
.ColumnCount = 4
.ColumnWidths = "1,5cm;1,7cm;1,7cm;2,5cm"
End With
For x = 1 To 2
Set wks = Worksheets("Tabelle" & CStr(x))
With wks.Range("A:G")
Set rngCell = .Find(Me.TextBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
If Not rngCell Is Nothing Then
strFirstAddress = rngCell.Address
Do
lngZeile = rngCell.Row
With Me.ListBox_Ergebnisse
.AddItem
.List(.ListCount - 1, 0) = wks.Cells(lngZeile, 1).Value
.List(.ListCount - 1, 1) = wks.Cells(lngZeile, 4).Value
.List(.ListCount - 1, 2) = wks.Cells(lngZeile, 5).Value
.List(.ListCount - 1, 3) = wks.Cells(lngZeile, 8).Value
End With
Set rngCell = .FindNext(rngCell)
Loop Until rngCell.Address = strFirstAddress
Else
MsgBox "Keine Doppelungen gefunden in " & wks.Name, 48
End If
End With
Next

Gruß Gerd
Anzeige
AW: Suche per VBA über mehrere Tabellenblätter - Ausgabe in Listbox
19.12.2020 22:39:41
ralf_b
Nabend,
im Grunde gar nicht so kompliziert. Setze um die Suchschleife einfach eine Zweite und setze wks auf das andere Blatt.

for i = 1 to 2
set wks = worksheets("Tabelle" & i)
'hier die suchschleife
next

AW: Suche per VBA über mehrere Tabellenblätter - Ausgabe in Listbox
20.12.2020 11:11:32
Kathleen
Tausend Dank euch beiden! Es funktioniert und ich habe wieder was dazu gelernt... DANKE ;)
Ich wünsche euch noch einen tollen Sonntag.
Lg Kati

335 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige