ich versuche per VBA aus der Tabelle „Quelle“ mit zwei Filter Kriterien, Zeilen in die Tabelle „Ziel“ kopieren.
Das Modul1 verwendet im Modul fest eingestellte Filterkriterien.
Ich möchte aber die Filterkriterien in der Tabelle „Quelle“ festlegen.
Das habe ich in Modul 2 versucht es kopiert aber ungefiltert in Tabelle Ziel.
Gibt aber auch keine Fehlermeldung aus. Könnt Ihr weiterhelfen?
24.07.2019, 18:46 (Dieser Beitrag wurde zuletzt bearbeitet: 24.07.2019, 18:48 von Mase.)
Hi,
eine Möglichkeit unter vielen Möglichkeiten:
ändere die Codenamen der Tabellenblätter ab (in tblZiel, tblQuelle)und kopiere folgenden Code in ein Modul:
Code:
Sub CopyA()
'dek
Dim wksZ As Worksheet
Dim wksQ As Worksheet
Dim sArr(0) As String
Dim lngLastRow As Long
'def
Set wksZ = tblZiel
Set wksQ = tblQuelle
sArr(0) = 1
With wksQ
.Range("A3").AutoFilter field:=1, Criteria1:=sArr(), Operator:=xlAnd
lngLastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("A3:E" & lngLastRow).SpecialCells(xlCellTypeVisible).Copy wksZ.Range("A3")
End With
End Sub
Hinweis:
Dieser Code verwendet ein Array als Kriterium.
Wenn Du weitere Filterkriterien verwenden möchtest, dann dimensioniere das Array entsprechend und fülle es mit dem Kriterium.
Mase schrieb:ändere die Codenamen der Tabellenblätter ab (in tblZiel, tblQuelle)und kopiere folgenden Code in ein Modul:
Links, im Projektexplrer, stehen Dinge wie - Microsoft Excel Objekte -- Diese Arbeitsmappe -- Tabelle1 (Quelle) -- Tabelle2 (Ziel)
Wenn Du nun Tabelle1 anklickst, erscheint unterhalb des Projektexplorers, das Eigenschaftsfenster. In der Zeile (Name) löscht Du Tabelle1 raus und ersetzt es durch tblQuelle. Tabelle2 = tblZiel
Danke das Du nicht auf gibst. tblQuelle und tblZiel sind korrekt eingetragen. Der Laufzeitfehler bleibt. Beim Kompilieren wird kein Fehler angezeigt. Erst beim Ausführen kommt der Laufzeitfehler 424