Clever-Excel-Forum

Normale Version: VBA gefilterte Zeilen kopieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo Zusammen,
 
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?
 
Danke für Eure Unterstützung.

Viele Grüße
Iron
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.

Hinweis2:
Schau Dir den Parameter Operator an.
Hallo,

Danke für die Unterstützung.
Ich habe Code ins Modul eingefügt und die Tabellen umbenannt.
Beim ausführen kommt Laufzeitfehler 424.

weitere Filterkriterien-> würde bedeuten

Code:
sArr(0) = 1
die 1 in eine 2 ändern?

VBA ist eigendlich nicht mein Fall ich würde das lieber mit Formeln lösen, wenn dies möglich wäre.


Viele Grüße
Hm,

Iron-R 18:49uhr schrieb:... ich versuche per VBA aus der Tabelle „Quelle“ mit zwei Filter Kriterien, Zeilen in die Tabelle „Ziel“ kopieren.

Iron-R 20:45Uhr schrieb:... VBA ist eigendlich nicht mein Fall ich würde das lieber mit Formeln lösen ...



In dem Fall bin ich wohl raus.
Hoffe es findet sich noch jemand der Dich unterstützen kann.
Hallo Marco,

bin ja lernfähig.

Mit dem Thema Operator habe ich mich schon beschäftigt.
Wo ich nicht weiterkomme ist der Laufzeitfehler 424
Der bleibt bei "Set wksZ = tblZiel"stehen

Viele Grüße
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

Speichern, und nochmal versuchen.
Hallo Marco,

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

Viel Grüße
sehr gern.
Du kannst Deine Mappe hochladen, so kann man mal reinschauen und prüfen woran es liegt.
Hallo,

Datei als Anlage

Viele Grüße
Die Codenamen mussten noch geändert werden; so läufts dann.
Seiten: 1 2