Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1596to1600
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
Exceltabelle nach Kritierin filtern VBA
28.12.2017 12:06:24
Valerie
Hallöchen
ich habe im Link eine Arbeitsmappe markiert und weiß einfach nicht wie man da auf den Bereich AA1:AG1 kommt und bin so langsam aber sicher am verzweifeln:(
Wenn jmd Lust und Zeit hat verstehe auch nicht was mit dem kommentar
' Schleife über AA1-AG1 und Werte ins Filterarray schreiben gemeint ist und wie man darunter auf
For i = 27 To 33 kommt was sagen diese Zeilen aus?
Und die letzte Frage wäre
was wird mit dem boVorhanden und loLetzte angespochen, wofür steht das?
https://www.herber.de/bbs/user/118552.xlsm
Entschuldigung für meine mangelnden Kenntnisse:/
Mit freundlichen Grüßen Valerie

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
richtige Datei hochgeladen?
28.12.2017 12:30:05
Matthias
Hallo
In der Datei die ich mir über Deinen Link geladen habe ist nur ein Formular
Kein Code.
Wer soll denn damit bitte was anfangen können?
Zu Deiner Frage
was wird mit dem boVorhanden und loLetzte angespochen, wofür steht das?
kann ich jetzt nur vermuten.
  • boVorhanden (Boolsche Variable) WAHR/FALSCH
  • loLetzte (als Long deklarierte Variable)

  • So wird es üblicherweise benutzt.
    Gruß Matthias
    AW: richtige Datei hochgeladen?
    28.12.2017 12:48:56
    Valerie
    hallo Matthias,
    so jetzt habe ich die richtige Arbeitsmappe:)
    https://www.herber.de/bbs/user/118555.xlsm
    Mit freundlichen Grüßen und schonmal vielen Dank
    Valerie
    Anzeige
    AW: Exceltabelle nach Kritierin filtern VBA
    28.12.2017 13:07:12
    Werner
    Hallo Valerie,
    zu deinen Fragen:
    Bereich AA1:AG1
    in den Bereich schreibe ich die jeweilige Farbe der Optionsbutton, wenn diese angeklickt werden. Schau dir dazu mal den Code der Click-Events der einzelnen Optionsbutton an.
    If WorksheetFunction.CountA(.Range("AA1:AG1")) > 0 Then
    hier prüfe ich, ob im Bereich AA1 bis AG1 ein Eintrag vorhanden ist, wenn ja, dann ist zumindest einer der Optionsbutton für die Farbe angeklickt
    die Variable boVorhanden wird auf wahr gesetzt
    For i = 27 To 33
    Schleife über die Spalten AA (Spaltennummer 27) bis AG (Spaltennummer 33)
    If .Cells(i, 1) "" Then
    hier habe ich einen Fehler eingebaut, richtig müsste das If .Cells(1, i) "" heißen
    in der Schleife wird geprüft, ob ein Wert in der entsprechenden Zelle ist, wenn ja, dann wird der Wert ins Filterarray übernommen
    If boVorhanden Then
    .Range("$A$1:$F$" & loLetzte).AutoFilter Field:=4, Criteria1:=Filterarray, Operator:= _
    xlFilterValues
    End If
    

    hier wird die Variable boVorhanden dann abgefragt. Es wird nur dann die Spalte mit den Farben gefiltert, wenn bei der vorherigen Prüfung ob in AA1-AG1 Werte vorhanden sind, mindestens ein Wert vorhanden ist.
    loLetzte
    die letzte belegte Zeile in Spalte A ermittle ich, um den Filter auch nur auf den tatsächlich verwendeten Tabellenbereich anzuwenden
    Gruß Werner
    Anzeige
    AW: Exceltabelle nach Kritierin filtern VBA
    28.12.2017 13:50:02
    Valerie
    HAllo Werner,
    ok vielen lieben dank, kann das jetzt super nachvollziehen woher die Sachen kommen☺️☺️
    und muss man das so machen? kann man nicht einfach als Einweisung geben direkt die Spalte zu filter ohne andere Hellen zu belegen?!
    und den filterarray (6) den du ganz am anfang gesetzt hast, sind damit die 6 Spalten die ich habe ( Produkt, artikelnr, Geschlecht, Farbe etc) gemeint? oder ist das nur für meine Produkte in der Listbox ? weil da würde ich bloß auf Filterarray 4 kommen beginnend bei 0
    Tshirt 0
    Pullover 1
    Jacken 2
    Hosen 3
    Sneaker 4
    Das wars dann auch mit den fragen Werner😂
    Wie immer freundliche Grüße
    Valerie
    Anzeige
    AW: Exceltabelle nach Kritierin filtern VBA
    28.12.2017 13:57:01
    Werner
    Hallo Valerie,
    das Array Filterarray ist nur für das Filtern der Spalte mit den Farben. Da kann es ja sein, dass mehrere (in deinem Fall bis zu 7) gefiltert werden sollen. Die ganzen ausgewählten Farben werden im Array gesammelt und an den Filter als Filterkriterium übergeben.
    Gruß Werner
    AW: Exceltabelle nach Kritierin filtern VBA
    03.01.2018 13:13:27
    Valerie
    Hallo Werner,
    habe mein VBA Projekt jetzt fertig gestellt:) Wollte nochmal abklärend fragen, warum hast du in der Leftfunktion den Index 5 gewählt? Kann ich da aus 4 oder 6 nehmen? und warum genau eine Left Funktion? Ist das der einfachste Weg?
    Außerdem was genau bedeutet die Funktion If WorksheetFunction.CountA...... größer 0 ( benutzt du um zu gucken ob die Farben im Bereich AA1-AG1 vorhanden sind)
    Bei der Schleife über AA1 :AG1
    schreibst du Filterarray(i-27) warum nicht (1-27)?
    'Bereich A1 bis F letzte belegte Zelle, filtern nach Artikel in Spalte A
    Da steht "*" & strSuchbegriff & "*" stehen die Anführungsstriche für den Bereich und loLetzte?
    und die letzteeee Frage versprochen...
    was bedeutet der Operator: xlFilterValues? :) :) :)
    Liebe Grüße und ein frohes Neues Jahr:)
    Anzeige
    AW: Exceltabelle nach Kritierin filtern VBA
    03.01.2018 14:45:39
    Werner
    Hallo Valerie,
    1. left
    Das war erforderlich, weil deine Einträge in der Spalte Artikel von deinen Einträgen in der entsprechenden Listbox abweichen. Die 5 bedeutet, dass die ersten 5 Zeichen von links für den Abgleich benutzt werden. Schau dir mal deine Artikelbezeichnungen und deine Bezeichnungen in der Combobox an.
    2. CountA AA1:AG1
    Zählt die nicht leeren Zellen im angegebenen Bereich. Wenn dieser Wert größer 0 ist, dann ist im Bereich ein Eintrag vorhanden, sprich es wurde über eine Checkbox eine Farbe ausgewählt
    Filterarray(i-27): In der Variablen i ist die Spaltennummer gespeichert für die Schleife über die Spalten AA1 bis AG1. Die Spalte AA hat die Spaltennummer 27. Die Variable i benutze ich aber nicht nur für die Schleife über den Bereich AA1 bis AG1 sondern auch für das Ansprechen des Arrayindex. i hat beim Schleifenstart den Wert 27 (Spalte AA). i-27 in der Klammer des Arrays ergibt beim ersten Schleifendurchlauf 0 also spreche ich so die erste Stelle im Array an. Anschließend wird innerhalb der Schleife i um 1 erhöht. Somit hat beim zweiten Schleifendurchlauf i den Wert 28. i-27 ergibt 1, also wird beim zweiten Schleifendurchlauf im Array der zweite Eintrag mit dem Index 1 angesprochen. Das geht so weiter bis die Schleife durchgelaufen ist.
    Jetzt solltest du auch verstehen, weshalb 1-27 nicht funktionieren kann. 1-27 = -26 und diesen Index gibt es im Array nicht, der Code crasht. Kannst es ja mal versuchen.
    3. Filterarray(i-27)
    Ein Array kann eine bestimmte Anzahl von Werten aufnehmen. Die Werte im Array werden über ihren Index (Stelle an der sie im Array stehen) angesprochen.
    Wenn ich mich richtig erinnere, dann habe ich das mit Filterarray(6) dimensioniert.
    da ein Array standardmäßig 0-basiert ist, ist der erste Eintrag im Array der mit dem Index 0. Das Array Filterarray(6) kann also insgesamt 7 Werte aufnehmen 0-6.
    3. "*" & strSuchbegriff & "*"
    Die Sternchen sind Jokerzeichen. Das bedeutet, dass dein Suchbegriff auch innerhalb eines Wortes/Satzes gefunden wird.
    strSuchbegriff = Valerie, in einer Zelle steht Hallo Valerie, gutes neues Jahr ==> Suchbegriff wird nicht gefunden
    mit Joker vorne und hinten wird der Suchbegriff gefunden
    Würde der Suchbegriff z.B. immer an erster Stelle in der Zelle stehen, dann würde auch
    strSuchbegriff & "*" zum Treffer führen.
    4. Operator:xlFilterValues
    es wird nach den Werten gefiltert, dann interessant, wenn der Zellwert das Ergebnis einer Formelberechnung ist.
    Noch ein kleiner Hinweis am Beispiel von CountA:
    bei Schlüsselwörtern im Code kannst du die Hilfe verwenden. Klicke mal im Code auf CountA und drücke dann F1.
    Gruß Werner
    Anzeige
    AW: Exceltabelle nach Kritierin filtern VBA
    03.01.2018 15:12:23
    Valerie
    Werner,
    vielen vielen Dank jetzt hab ich es endich😂
    Einen schönen Tag noch:)
    Gruß Valerie
    Gerne u.Danke für die Rückmeldung. o.w.T.
    03.01.2018 15:14:30
    Werner
    AW: Exceltabelle nach Kritierin filtern VBA
    03.01.2018 19:27:12
    Valerie
    Werner,
    vielen vielen Dank jetzt hab ich es endich😂
    Einen schönen Tag noch:)
    Gruß Valerie

    304 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige