Schönen Sonntag euch allen!
Ich versuche gerade mittels VBA folgende Logik zu automatisieren.
ich kopiere eine Tabelle aus einem externen Dokument . Diese ist nun im Zwischenspeicher.
Diese soll in Tabelle1 (aktuelles Dokument) A1 eingefügt werden.
Danach soll chronologisch nach Spalte A und D sortiert werden und in Spalte E etwas ausgeschlossen werde ("X").
Diese strukturierte Tabell soll dann anschließend in Tabelle2 A1 eingefügt werden.
Bislang habe ich folgenden Code entwickelt/ aufgezeichnet jedoch bin ich an vielen Stellen Ratlos bzw. es gibt zahlreiche Optimierungen.
Zum Beispiel wie ich die Range für die Filter dynamisieren kann, da die Tabellen unterschiedliche Längen haben können
Vielleicht habt ihr Ideen oder gar Ansätze.
Ich freue mich über jeden Beitrag!
Gruß
Josh
Ich versuche gerade mittels VBA folgende Logik zu automatisieren.
ich kopiere eine Tabelle aus einem externen Dokument . Diese ist nun im Zwischenspeicher.
Diese soll in Tabelle1 (aktuelles Dokument) A1 eingefügt werden.
Danach soll chronologisch nach Spalte A und D sortiert werden und in Spalte E etwas ausgeschlossen werde ("X").
Diese strukturierte Tabell soll dann anschließend in Tabelle2 A1 eingefügt werden.
Code:
Sub StrukturiereDaten()
Sheets("Tabelle1").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.AutoFilter
ActiveWorkbook.Worksheets("Tabelle1").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").AutoFilter.Sort.SortFields.Add Key:= _
Range("A2:A2327"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
ActiveWorkbook.Worksheets("Tabelle1").AutoFilter.Sort.SortFields.Add Key:= _
Range("D2:D2327"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle1").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Range("$A$1:$E$2327").AutoFilter Field:=10, Criteria1:="Y"
Range("A1:E2327").Select
Range("B4").Activate
Selection.Copy
End Sub
Bislang habe ich folgenden Code entwickelt/ aufgezeichnet jedoch bin ich an vielen Stellen Ratlos bzw. es gibt zahlreiche Optimierungen.
Zum Beispiel wie ich die Range für die Filter dynamisieren kann, da die Tabellen unterschiedliche Längen haben können
Vielleicht habt ihr Ideen oder gar Ansätze.
Ich freue mich über jeden Beitrag!
Gruß
Josh