Hallo Zusammen,
ich bin am Verzweifeln und vermutlich einfach nur zu doof. Das letzte Mal habe ich vor ca. vor 10 Jahren etwas programmiert.
Aktuell habe ein Arbeitsblatt Import, welches mit Rohdaten 1x im Monat gefüllt wird. Diese Rohdaten müssen gefiltert werden und das jeweilige gefilterte Ergebnis in ein anderes Arbeitsblatt kopiert werden.
Gefiltert wird auf die Spalte Name und die Arbeitsblätter sind mit dem passenden Namenskürzel benannt.
Mit dem manuellen Aufzeichnen eines Markos habe ich die Funktion grundsätzlich am Laufen, ist aber nicht schön.
Ich möchte nun über eine Hilfstabelle 2 Arrays befüllen, welche mir das setzen des Filters und des Kopierens auf das richtige Blatt vereinfachen.
Die zu setzenden Filter können dabei von Monat zu Monat variieren.
Aktuell habe ich folgendes versucht:
Dim name As Variant
Dim blatt As Variant
Dim count As String
name = Worksheets("Hilfstabellen").Range("J2:J" & IIf(IsEmpty(Cells(Rows.count, 2)), Cells(Rows.count, 2).End(xlUp).Row, Rows.count))
blatt = Worksheets("Hilfstabellen").Range("K2:K" & IIf(IsEmpty(Cells(Rows.count, 2)), Cells(Rows.count, 2).End(xlUp).Row, Rows.count))
count = Worksheets("Hilfstabellen").Range("B26").Value
For i = 1 To count
Sheets("Import").Select
ActiveSheet.ListObjects("Tabelle2").Range.AutoFilter Field:=1, Criteria1:= _
name
Range("Tabelle2[#All]").Select
Selection.Copy
Sheets(blatt).select
ActiveWindow.SmallScroll Down:=-54
Range("A34").Select
ActiveSheet.Paste
Sheets("Import").Select
ActiveSheet.ListObjects("Tabelle2").Range.AutoFilter Field:=1
Application.CutCopyMode = False
Next i
End Sub
Die beiden Arrays werden sauber befüllt und ich kann diese wunderbar in einer Msgbox innerhalb der Schleife ausgeben.
Count gibt die Anzahl der Schleifen wieder und wird mittels =anzahl2 der Namenstabelle erzeugt.
Wie bereits geschildert ist diese Liste in ihrer Länge variable.
Probleme habe ich nun bei der Auswahl des Ziel Arbeitsblattes und beim setzen des Filters.
Wenn ich Code auf den Filter reduziere werden Ergebnisse entfernt und kein Filter ausgewählt.
Sobald das Zielblatt gewählt werden soll erhalte eine Fehlermeldung das der Typ nicht passen würde.
Hat jemand vielleicht einen Tipp für mich?
Besten Dank
|