Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Spezialfilter dynamisieren

Spezialfilter dynamisieren
31.03.2021 15:34:43
Thomas
Hallo liebe Forenmitglieder,
ich habe versucht mit dem Spezialfilter einen Teil einer Liste zu extrahieren.
Folgendes hat die Makroaufzeichung ergeben:
  • 
    Sub Makro1()
    ' Makro1 Makro
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Application.CutCopyMode = False
    Sheets("Tabelle2").Columns("A:E").AdvancedFilter Action:=xlFilterCopy, _
    CriteriaRange:=Range("A1:B2"), CopyToRange:=Range("A4"), Unique:=False
    End Sub
    

  • Der Filter und der Zielbereich liegen hierbei auf demselben Datenblatt, die Datenbasis auf einem anderen.
    Manuell ausgeführt und per Makroaufzeichnung dokumentiert, führt es exakt zu dem gewünschten Ergebnis.
    https://www.herber.de/bbs/user/145230.xlsm
    Ich wollte nun anschließend die Aktualisierung dynamisieren, allerdings funktiniert dann das kopieren nicht korrekt bzw. ich lande beim debuggen.
    Hat vielleicht jemand einen Tipp, warum es dynamisiert nicht funktioniert? Bei allen Beispielen die ich gefunden habe, liegen die Filterkriterien immer bei der Datenbasis. Muss ich in meinem Fall noch etwas spezielles beachten?
    Habt im Voraus vielen Dank für Eure Unterstützung!
    Viele Grüße
    Thomas

    14
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Spezialfilter dynamisieren
    31.03.2021 17:06:59
    Thomas
    Hallo Herbert,
    vielen Dank, das du mir mit deinem Vorschlag weitergeholfen hast, allerdings habe ich den Spezialfilter verwendet, da mir dann alle Einträge untereinander kopiert werden, für die die Filterkriterien zutreffen.
    Ich habe mir Deine VBA Version angesehen und momentan werden nicht alle Werte berücksichtigt, für die die Filterkriterien erfüllt sind. DIe VBA Lösung würde ich der Formellösung vorziehen, da sich die Anhzahl der Zeilen in der Datenbasis stark verändern kann.
    Ich verstehe immer gerne den Codes um wieder hinzuzulernen. Vielleicht kannst du mir nochmal weiterhelfen, damit ich noch zum Ziel komme.
    Option Explicit
    Sub Filtern()
    Dim sFarbe$, sGroesse$, iCountA%, iCountB%
    sFarbe = [A2]              'Wodurch ergibt sich hier, auf welche Tabelle sich die Zelle A2  _
    bezieht?
    sGroesse = [B2]
    With Tabelle2
    For iCountA% = 2 To 21    'hier muss ich noch den letzten Wert der Basisdaten ermitteln,  _
    aber das bekomme ich hin.
    If .Cells(iCountA%, 1) = sFarbe Then
    For iCountB% = 2 To 21
    If .Cells(iCountB%, 1) = sFarbe And .Cells(iCountB%, 2) = sGroesse Then
    Range("A5:E5").Value = .Range(.Cells(iCountB%, 1), .Cells(iCountB%, 5)).Value  _
    'Diese Schleife sorgt doch dafür, das eigentlich alle übereinstimmenden Werte untereinander kopiert werden. In meinem Test allerdings nur ein Wert,
    der mit den Suchkriterien übereinstimmt. Dies liegt ja an diesem Teil : Range("A5:E5").Value  _
    des codes. Hier meine Frage,
    wodurch ergibt sich, das sich die Range auf Tabelle 1 bezieht und wie kann ich hier angeben,  _
    das der nächste gefundene Wert in der Range A6:E6 eingefügt wird usw.
    GoTo ende
    End If
    Next iCountB%
    End If
    Next iCountA%
    End With
    ende:
    End Sub
    
    Vielen Dank, das du dich mit meinem Problem beschäftigt hast und Viele Grüße
    Thomas

    Anzeige
    AW: Spezialfilter dynamisieren
    31.03.2021 17:54:47
    Herbert_Grom
    Hallo Thomas,
    sorry, aber ich habe noch einen Fehler entdeckt. Nimm diesen Code, der sollte für 2 Suchkriterien funktionieren:
    Sub Filtern()
    Dim sFarbe$, sGroesse$, iCountA%, iRowIn%, iLastRow%
    sFarbe = [A2]
    sGroesse = [B2]
    iRowIn = 5
    With Tabelle2
    iLastRow = .Cells(Rows.Count, "A").End(xlUp).Row
    For iCountA = 2 To iLastRow
    If .Cells(iCountA, 1) = sFarbe And .Cells(iCountA, 2) = sGroesse Then
    Range("A" & iRowIn & ":E" & iRowIn).Value = .Range(.Cells(iCountA, 1), .Cells( _
    iCountA, 5)).Value
    iRowIn = iRowIn + 1
    End If
    Next iCountA
    End With
    End Sub
    
    Servus

    Anzeige
    AW: Spezialfilter dynamisieren
    01.04.2021 08:40:02
    Thomas
    Hallo Herbert,
    hab vielen lieben Dank, das du dich mit meinem Problem ein weiteres Mal beschäftigt hast.
    Es funktioniert nun wunderbar, und die Dropdowns für den Filter hatte ich auch schon im Kopf :-)
    Manchmal hilft es auch ein zweites Mal drauf zu gucken. Meine Fragen bezüglich Deines Codes konnte ich mir nun auch selbst beantworten.
    Hab vielen Dank, du hast mir sehr geholfen!

    AW: Gerne geschehen und danke für die Rückmeldung!
    01.04.2021 08:49:33
    Herbert_Grom
    ,,,

    Anzeige
    AW: Spezialfilter dynamisieren
    01.04.2021 08:31:26
    Thomas
    Hallo Charly,
    in diesem Fall werde ich wohl die vba Version benutzen. Aber hab vielen Dank das du mich auf die Filter-Funktion aufmerksam gemacht hast!
    Die wird bei mir auf alle Fälle auch nochmal zur Anwendung kommen :-)
    Vielen Dank und viele Grüße
    Kai

    AW: Spezialfilter dynamisieren
    01.04.2021 08:35:28
    Herbert_Grom
    Hallo Thomas,
    hast du meine Version https://www.herber.de/bbs/user/145235.xlsm noch nicht getestet? Die macht doch eigentlich das, was du willst!
    Servus

    Anzeige
    AW: Spezialfilter dynamisieren
    01.04.2021 08:57:37
    Thomas
    Hallo Herbert,
    hab mich erst intensiver mit dem Code beschäftigt bevor ich geantwortet habe :-), vba ist nicht mein Steckenpferd und ich verstehe gerne die Sachen, um Sie dann selbst anwenden zu können, leider dauert das manchmal etwas :-(.
    Zum Glück haben sich aber keine Fragen mehr ergeben und ich kann Deinen Code nun perfekt ver- und anwenden..
    Ich wünsche Dir ein schönes langes Wochenende wenn es soweit ist!

    AW: Gerne geschehen und danke für die Rückmeldung!
    01.04.2021 08:59:11
    Herbert_Grom
    Hallo Thomas,
    vielen Dank für die guten Wünsche, die ich dir gerne auch zurück gebe!
    Servus

    Gerne owT
    01.04.2021 10:11:06
    Charly

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige