Excel: Zeilenweise Daten aus 20 Tabellen auslesen

Hallo Experten,

ich habe mehre Tabellen die heißen:

Datei20080502
Datei20080505
Datei20080506

Nur die Werktage.
jede dieser Tabellen ist identisch aufgebaut

 │ A │ B │ C │ D │ E │ F │ 
──┼───────┼───────┼────────┼────────┼──────┼───────┤
1 │ Daten │ DATUM │ Daten │ Daten │ ID1 │ Daten │ 
2 │ Daten │ DATUM │ Daten │ Daten │ ID3 │ Daten │ 
3 │ Daten │ DATUM │ Daten │ Daten │ ID1 │ Daten │ 
4 │ Daten │ DATUM │ Daten │ Daten │ ID2 │ Daten │ 
5 │ Daten │ DATUM │ Daten │ Daten │ ID1 │ Daten │ 
6 │ Daten │ DATUM │ Daten │ Daten │ ID3 │ Daten │ 
7 │ Daten │ DATUM │ Daten │ Daten │ ID1 │ Daten │ 
8 │ Daten │ DATUM │ Daten │ Daten │ ID3 │ Daten │ 
──┴───────┴───────┴────────┴────────┴──────┴───────┘


Tabellendarstellung erreicht mit dem Code in [FAQ:2363](/t/faq/9292363)

Jetzt hätte ich gerne über ein Marko mehrere Tabellen erstellt in denen nur die Daten von ID1, ID2, … drin sind.
Die einzelnen Sheets kriege ich über ein Makro geöffnet. Ich denke sogar mit Fehler abfrage ob die Datei vorhanden ist ( die nicht Werktage)
Aber wie ich in einer geöffneten Datei nach einer Zelle suche und die gesamte Zeile dann kopiere ist mir im Moment nicht klar.

Liebe Grüße
Winter

Hallo Winter,

dazu zwei Ideen:
nach dem Laden des Sheets einen Autofilter setzen und dann die sichtbaren Zeilen abarbeiten.

Worksheets("Sheet1").Range("A1").AutoFilter \_
 field:=1, \_
 Criteria1:="Otis"
 VisibleDropDown:=False

Mit .Find(…) suchen lassen und dann durch die gefundenen Zeilen iterieren.

With Worksheets(1).Range("a1:a500")
 Set c = .Find(2, lookin:=xlValues)
 If Not c Is Nothing Then
 firstAddress = c.Address
 Do
 c.Value = 5
 Set c = .FindNext(c)
 Loop While Not c Is Nothing And c.Address firstAddress
 End If
End With

(Beispiele der EXCEL-Hilfe)

mfg

Dirk.Pegasus

Hallo Winter,

dazu zwei Ideen:
Mit .Find(…) suchen lassen und dann durch die gefundenen
Zeilen iterieren.

With Worksheets(1).Range(„a1:a500“)
Set c = .Find(2, lookin:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
c.Value = 5
Set c = .FindNext©
Loop While Not c Is Nothing And c.Address
firstAddress
End If
End With

(Beispiele der EXCEL-Hilfe)

mfg

Dirk.Pegasus

Hallo Dirk,

Cool
Danke, Soweit ich das sehe hilft mir das weiter.
Grüße
Winter