Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1736to1740
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 über x Tabellenblätter nach variablem Kriterium

Suche über x Tabellenblätter nach variablem Kriterium
28.01.2020 11:36:29
Walter
Hallo zusammen,
ich habe heute auch eine Frage, wo ich bitte eure Hilfe bräuchte. Ich habe eine Gesamtliste, die mit Informationen aus den übrigen Tabellenblättern in der Arbeitsmappe befüllt werden soll. Der Code der gesucht ist funktioniert als ähnlich wie ein Sverweis, nur über x Tabellenblätter. Folgende Anforderungen habe ich:
• Arbeitsmappe besteht aus Tabellenblatt Gesamt sowie x Tabellenblätter mit gleichem Aufbau aber unterschiedlicher Benahmung
• Sverweis über x Tabellenblätter
• Variables Suchkriterium in Sverweis kommt aus Tabellenblatt "Gesamt" Zelle K4
• Suchbereich in Sverweis auf jedem Tabellenblatt gleich (M6:Q17)
• Ausgabe des 5 Wertes je Tabellenblatt, wenn dieses nicht leer ist sonst weitersuchen
• Wenn kein Wert gefunden nächstes Tabellenblatt
• Gefundene Werte werden in Gesamtliste übertragen ein Wert je Zeile – nächster Wert nächste Zeile
Wenn es eine unkompliziertere Variante als die mit Sverweis gibt, dann bin ich dafür auch sehr offen. Mein Ansatz war der folgende:

Sub Gesamtfüllen()
Debug.Print Now
Dim i As Long, letzteZeile As Long
Dim Arbeitsmappe As Workbook
Dim Datenbasis As Worksheet
Dim Ziel As Worksheet
Dim Bereich As Range
Dim WsF As WorksheetFunction
lngsheets = ThisWorkbook.Sheets.Count
For t = 10 To lngsheets
Set Arbeitsmappe = ThisWorkbook
Set Datenbasis = Arbeitsmappe.Worksheets(t)
Set Ziel = Arbeitsmappe.Worksheets("Gesamt")
letzteZeile = ThisWorkbook.Sheets.Count.End(xlUp).Row
Set Bereich = Datenbasis.Range("A1:H" & letzteZeile)
Set WsF = Application.WorksheetFunction
For i = 7 To Ziel.Range("A" & Rows.Count).End(xlUp).Row
On Error Resume Next
Ziel.Range("K" & i).Value = WsF.VLookup(Ziel.Range("K3").Value, Range("M6:Q17"), 5,  _
False)
Next i
Next t
Debug.Print Now
End Sub
Vielen Dank für eure Hilfe
Beste Grüße
Walter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suche über x Tabellenblätter nach variablem Kriterium
28.01.2020 12:43:34
Rudi
Hallo,
Mein Vorschlag:
Sub Gesamtfuellen()
Dim wksZiel As Worksheet
Dim wks As Worksheet, ERG, SUCHBEGRIFF
Set wksZiel = Arbeitsmappe.Worksheets("Gesamt")
SUCHBEGRIFF = wksZiel.Range("K4")
For Each wks In Worksheets
If Not wks Is wksZiel Then
ERG = Application.VLookup(SUCHBEGRIFF, wks.Range("M6:Q17"), 5, 0)
If Not IsError(ERG) Then
wksZiel.Cells(Rows.Count, 1).End(xlUp).Offset(1) = ERG
End If
End If
Next wks
End Sub

Gruß
Rudi
AW: Suche über x Tabellenblätter nach variablem Kriterium
28.01.2020 14:00:01
Walter
Hi Rudi,
danke für deine schnelle Antwort. Leider bekomme ich mit deinem Code den Hinweis das ein Objekt erforderlich ist (424) bei folgender Codezeile:
Set wksZiel = Arbeitsmappe.Worksheets("Gesamt")
Wenn ich möchte, dass das erste Ergebnis im Zielblatt in Zelle K5 steht wie müsste das aussehen?
 wksZiel.Range("k7:k" & Cells(Rows.Count, 1).End(xlUp).Offset(6) = ERG
Danke für deine Unterstützung.
Beste Grüße
Walter
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige