Hallo,
wenn Du VBA einsetzen möchtest geht Dein Vorhaben sehr einfach mit ein Paar Zeilen Code.
Wie gesagt würde ich den Spezialfilter einsetzen. Du brauchst Da keinen Ausfallschritt oder Zwischenschritt
![Wink Wink](https://www.clever-excel-forum.de/images/smilies/wink.gif)
Ich lege Deine eingestellte Datei als Basis zugrunde.
Dann in das Codefenster der Tabellen, die aktualisiert werden sollen, folgenden Code einfügen:
Code:
Private Sub Worksheet_Activate()
aktualisieren (ActiveSheet.Name)
End Sub
und folgenden in ein Allgemeines Modul:
Code:
Sub aktualisieren(strgTab As String)
Dim lngZ As Long
With Sheets("csv")
lngZ = .Cells(.Rows.Count, 1).End(xlUp).Row
End With
With Sheets(strgTab)
.Cells.Clear
'Kriterienbereic und Kriterien vorbereiten
.Range("AA1").Value = Sheets("csv").Range("D1").Value 'Überschrift aus Tabelle "csv" in Zelle AA1 der aktivierten Tabelle
.Range("AA2").Value = strgTab 'Tabellenname entspricht dem Filterkriterium und wird in AA2 der aktivierten Tabelle
'Filtern und Daten kopieren mittels Spezialfilter
Sheets("csv").Range("A1:E" & lngZ).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=.Range("AA1:AA2"), CopyToRange:=.Range("A1:E1"), Unique:=False
End With
End Sub
Bei jedem aktivieren einer der zu akrtualisierenden Tabellen werden diese jetzt automatisch neu eingelesen.
Unten Deine Beispieltabelle mit eingearbeitetem Code:
Kopie von excelnewbie_workbook_001-1.xlsm (Größe: 18,73 KB / Downloads: 3)