280: Excel-VBA: Eine Tabelle nach mehreren Kriterien filtern - Tipps zu Filtern von Daten

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ธ.ค. 2024

ความคิดเห็น • 11

  • @abdullahcakiroglu7134
    @abdullahcakiroglu7134 2 ปีที่แล้ว +1

    Danke für die hilfreichen Videos. Schließe mich dem o. a. Beitrag an. Aber bitte weiter machen. Sie verdienen auf jeden Fall mehr Abonnenten und Likes. TOP

  • @rolfheller3607
    @rolfheller3607 2 ปีที่แล้ว

    Vielen Dank. Wieder sehr anregend. Habe ich sofort nach dem ersten Drittel nachgebaut für numerische Werte, ohne bis zum Ende zu gucken. Nach dem Misserfolg habe ich dann das Video bis zum Ende gesehen und erst dann erfolgreich abgeschlossen. Danke.
    In meinem Fall würde ich gern noch die zu filternden Werte aus einer kopierten Zwischenablage (mit mehreren nicht zusammenhängenden) Bereichen nehmen. Derzeit muss ich diese Werte noch an eine definierte Stelle kopieren.
    Oder gibt's da etwas im Fundus?

    • @vba-kracherheld-office
      @vba-kracherheld-office  2 ปีที่แล้ว

      Das folgende Skript kannst Du verwenden und vorher die Zellen markieren, nach denen gefiltert werden soll:
      Sub FilterMitArrayNumerisch()
      Dim wksTab As Worksheet
      Dim lngZeilemax As Long
      Dim rngBereich As Range, rngZelle As Range
      Dim VarFilterKrit()
      Dim Vardat()
      Dim lngZ As Long

      Set wksTab = Tabelle3

      lngZeilemax = wksTab.Range("A" & wksTab.Rows.Count).End(xlUp).Row

      Set rngBereich = wksTab.Range("A1:C" & lngZeilemax)

      If Not wksTab.AutoFilterMode Then rngBereich.AutoFilter

      For Each rngZelle In Selection
      ReDim Preserve VarFilterKrit(lngZ)
      VarFilterKrit(lngZ) = rngZelle.Value
      lngZ = lngZ + 1
      Next rngZelle

      Vardat = VarFilterKrit

      'Im Datenfilter werden "Texte" verlangt
      For lngZ = LBound(Vardat) To UBound(Vardat)
      Vardat(lngZ) = CStr(Vardat(lngZ))
      Next lngZ

      rngBereich.AutoFilter Field:=2, Criteria1:=Vardat, Operator:=xlFilterValues

      End Sub
      vg
      Bernd

    • @rolfheller3607
      @rolfheller3607 2 ปีที่แล้ว

      Die vorgeschlagene Lösung klappt so nicht, da die kopierten Bereiche als markiertes Filterergebnis nicht zusammenhängend sind und nicht alleine in Selection auftauchen. Die Zwischenablage bzw. das Pasteergebnis ist hingegen zusammenhängend.

    • @KjeldSeegert
      @KjeldSeegert 2 ปีที่แล้ว

      Guten Morgen, vielen Dank für das tolle Video. Gibt es die Möglichkeit den im Datenfeld zu filtern und dann auf gleichnamige Arbeitsblätter zu verteilen ? Filter Kriterium liegt in Spalte A. Lg Kjeld und vielen Dank im Voraus.

  • @KjeldSeegert
    @KjeldSeegert 2 ปีที่แล้ว

    Hallo Bernd, ist es möglich ein Datenfeld zu filtern und dann auf die jeweiligen gleichnamigen Arbeitsblätter zu kopieren? Lg Kjeld

    • @vba-kracherheld-office
      @vba-kracherheld-office  2 ปีที่แล้ว +1

      Hi Kjeld, Es gibt einen Filter für ein Datenfeld. So etwa in der Art:
      Sub FilternMitArraySchreibweiseEgal()
      Dim Vardat As Variant
      Dim VarFilter As Variant
      Dim lngz As Long

      Vardat = Array("Michael Müller", "Adam Weissmüller", "Eva König", "Kurt Müllerschön", "Alfred Adler", "Ute Waldner")
      VarFilter = Filter(Vardat, "Müller", True, vbTextCompare)

      For lngz = 0 To UBound(VarFilter)
      Debug.Print VarFilter(lngz)
      Next lngz
      End Sub
      VG
      Bernd

    • @KjeldSeegert
      @KjeldSeegert 2 ปีที่แล้ว

      Super vielen Dank dafür, probiere ich morgen gleich mal aus. Lg Kjeld

  • @chrisk.2957
    @chrisk.2957 2 ปีที่แล้ว

    Jetzt 193001 😂 Top!

  • @oliverscheurich9202
    @oliverscheurich9202 2 ปีที่แล้ว

    Top. Eigentlich müssten Sie 193000 Abonnenten haben statt 1930.