Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
AdvancedFilter
zurück: Verzeichnis einlesen und Hyperlinks erzeugen weiter: Excel VBA Code optimieren/ kürzen? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
hertingo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. Jan 2013, 12:01
Rufname:

AdvancedFilter - AdvancedFilter

Nach oben
       Version: Office 2007

Hallo zusammen,

ich habe da mal ein Problem mit dem AdvancedFilter. Folgende Konstellation:

In dem Tabellenblatt "Datenbank-Abfrage" gibt die Spalten A bis 7. In Spalte I stehen die Begriffe drinnen (Schlagwörter), nach denen letztlich ausgefiltert werden soll. Dies können bis zu 5 Schlagwörter sein. Eventuell bleibt die Spalte I aber auch (teilwiese) leer bzw. befindet sich zwischen den Schlagwörtern eine Reihe ohne Schlagwörter.

In dem Tabellenblatt "Zw_Ergebnis" gibt es ebenfalls Spalte A bis I mit den identischen Überschriften wie in dem Tabellenblatt "Datenbank-Abfrage". In Spalte I stehen die gesammelten Schlagwörter der Daten. Hier soll nun nach den Schlagwörtern aus dem Tabellenblatt "Datenbank-Abfrage" ausgefilteret und dann der komplette Bereich in das Tabellenblatt "Ergebnis_Gesamt" kopiert werden.

hier mien bisheriger Code:

Code:


Sub schlag_erg_ermitteln()

    Application.ScreenUpdating = False
    On Error Resume Next
    If Err.Number <> 0 Then
    End If

    Sheets("Ergebnis_Gesamt").Activate
    ActiveSheet.Cells.Clear
    Sheets("Zw_Ergebnis").Activate

    With ActiveSheet.Columns("A:I")
        .AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Sheets("Datenbank-Abfrage").Range("I1:I6"), _
            CopyToRange:=Sheets("Ergebnis_Gesamt").Range("A1"), _
            Unique:=False
        .AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=""
    End With
   
    Application.ScreenUpdating = True

End Sub



Leider filtert er nichts aus. Kann mir jemand von Euch helfen.

Vielen Dank schon mal!
Phelan XLPH
Fortgeschritten


Verfasst am:
31. Jan 2013, 12:30
Rufname: Phelan


AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Zitat:
Eventuell bleibt die Spalte I aber auch (teilwiese) leer bzw. befindet sich zwischen den Schlagwörtern eine Reihe ohne Schlagwörter.


...und das darf nicht sein.

Code:
Sub schlag_erg_ermitteln()

    Sheets("Ergebnis_Gesamt").UsedRange.Clear

    With Sheets("Zw_Ergebnis").Columns("A:I")
        .AdvancedFilter Action:=xlFilterCopy, _
            CriteriaRange:=Sheets("Datenbank-Abfrage").Range("I1:I2"), _
            CopyToRange:=Sheets("Ergebnis_Gesamt").Range("A1"), _
            Unique:=False
    End With

End Sub
hertingo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. Jan 2013, 16:22
Rufname:

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo Phelan XLPH,

erstmal vielen Dank für deine Hilfe. Das mit den leeren Zeilen habe ich nun gelöst.

Code:

Sub schlag_erg_ermitteln()

    Dim letztezeile As Long
    Dim datrng As Range
    Dim darngFilter As Range
   
    Application.ScreenUpdating = False
    On Error Resume Next
    If Err.Number <> 0 Then
    End If

    Sheets("Ergebnis_Gesamt").UsedRange.Clear
 
    Sheets("Datenbank-Abfrage").Activate
    Sheets("Datenbank-Abfrage").Range("I2") = ausw_schlag1.Value
    Sheets("Datenbank-Abfrage").Range("I3") = ausw_schlag2.Value
    Sheets("Datenbank-Abfrage").Range("I4") = ausw_schlag3.Value
    Sheets("Datenbank-Abfrage").Range("I5") = ausw_schlag4.Value
    Sheets("Datenbank-Abfrage").Range("I6") = ausw_schlag5.Value

    Set datrng = Range("i2:i6").SpecialCells(xlCellTypeBlanks)
    On Error GoTo 0
    If Not datrng Is Nothing Then datrng.EntireRow.Delete
    Set datrng = Nothing
    letztezeile = ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row
   
    With Sheets("Zw_Ergebnis").Columns("A:I")
        .AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Datenbank-Abfrage").Range("I1:I" & letztezeile), _
        CopyToRange:=Sheets("Ergebnis_Gesamt").Range("A1"), _
        Unique:=False
    End With

    Sheets("Ergebnis_Gesamt").Activate
    letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
    Sheets("Zw_Ergebnis").Activate
    ActiveSheet.Cells.Clear
    MsgBox ("Test"), vbOKOnly
    Range("C:I").NumberFormat = "@"
    ActiveSheet.Range(Cells(1, 1), Cells(letztezeile, 9)).Value = _
    Sheets("Ergebnis_Gesamt").Range(Sheets("Ergebnis_Gesamt").Cells(1, 1), _
    Sheets("Ergebnis_Gesamt").Cells(letztezeile, 9)).Value
       
    Application.ScreenUpdating = True

End Sub


Jetzt schient es aber so, als würde er nicht mehr aus der Filterfunktion herauskommen. Er zeigt jedenfalls keine MsgBox an oder führt sonst noch andere Prozeduren aus. Stehe gerade auf dem Schlauch. Vielleicht kannst du mir da nochmal helfen? Vielen Dank im Vroaus!
Phelan XLPH
Fortgeschritten


Verfasst am:
31. Jan 2013, 17:43
Rufname: Phelan

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

statt:
letztezeile = ActiveSheet.Cells(Rows.Count, 9).End(xlUp).Row

das einsetzen:
Code:
With Sheets("Datenbank-Abfrage")
   letztezeile = .Cells(.Rows.Count, 9).End(xlUp).Row
End With
hertingo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
31. Jan 2013, 20:55
Rufname:


AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo Phelan XLPH,

vielen Dank schon mal. Nach dem WE wird das gleich mal eingepflegt.

Vielen Dank bis dahin schon mal!

VG
hertingo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Feb 2013, 12:03
Rufname:

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo nochmal,

bin nun ein Schritt weiter, aber mit neuen Problemen Sad

Meine Tabelle "Zw_Ergebnis" sieht so aus:

Saplet A - I: unterschiedliche Überschriften mit Werten gefüllt
Spalte J - M: Überschrift "Schlagwort" teilweise mit Werten gefüllt

Meine Tabelle "Datenbank-Abfrage" sieht so aus:

Spalte I: Überschrift "Schlagwort" mit Werten gefüllt (I1:I6 maximal)

So nun will ich nach den werten aus der Tabelle Datenbank-Abfrage I1:I(Variabel) die Tabelle "Zw_Ergebnis" per Spezialfilter durchsuchen lassen und das Ergebnis dann in die Tabelle "Ergebnis_GESAMT" kopieren lassen. Danach sollen noch von der Tabelle "Ergebnis_GESAMT" die Werte wieder zurück in die Tabelle "Zw_Ergebnis" kopiert werden. Leider macht er nich das was ich will. Er filtert mir zwar etws Heraus, aber dies hat nichts mit meinen Kriterien zu tun!

Hier mein bisheriger Code:

Code:

Sub schlag_erg_ermitteln()

    Dim letztezeile As Long
    Dim datrng As Range
   
    Application.ScreenUpdating = False
    On Error Resume Next
    If Err.Number <> 0 Then
    End If

    Sheets("Ergebnis_Gesamt").UsedRange.Clear
   
    Sheets("Datenbank-Abfrage").Activate
    ActiveSheet.Range("I2") = ausw_schlag1.Value
    ActiveSheet.Range("I3") = ausw_schlag2.Value
    ActiveSheet.Range("I4") = ausw_schlag3.Value
    ActiveSheet.Range("I5") = ausw_schlag4.Value
    ActiveSheet.Range("I6") = ausw_schlag5.Value

    Set datrng = Range("i2:i6").SpecialCells(xlCellTypeBlanks)
      On Error GoTo 0
    If Not datrng Is Nothing Then datrng.EntireRow.Delete
    Set datrng = Nothing
   
    With Sheets("Datenbank-Abfrage")
        letztezeile = Sheets("Datenbank-Abfrage").Cells(.Rows.Count, 9).End(xlUp).Row
    End With
   
    With Sheets("Zw_Ergebnis").Columns("A:M")
        .AdvancedFilter Action:=xlFilterCopy, _
        CriteriaRange:=Sheets("Datenbank-Abfrage").Range("I1:I" & letztezeile), _
        CopyToRange:=Sheets("Ergebnis_GESAMT").Range("A1"), _
        Unique:=False
    End With
   
    With Sheets("Ergebnis_GESAMT")
        letztezeile = .Cells(.Rows.Count, 1).End(xlUp).Row
    End With
 
    Sheets("Zw_Ergebnis").Activate
    ActiveSheet.Cells.Clear
    ActiveSheet.Range("C:M").NumberFormat = "@"
    MsgBox (letztezeile), vbOKOnly, "nach Filter"
    ActiveSheet.Range(Cells(1, 1), Cells(letztezeile, 13)).Value = _
        Sheets("Ergebnis_GESAMT").Range(Sheets("Ergebnis_GESAMT").Cells(1, 1), _
        Sheets("Ergebnis_GESAMT").Cells(letztezeile, 13)).Value
           
    Application.ScreenUpdating = True

End Sub


Vielen Dank für Eure Hilfe im Voraus!
DumDum
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Feb 2013, 13:01
Rufname:

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo,

so wie ich es verstehe, wendest Du den Spezialfilter nicht richtig an.

Deine Filterung entspricht eine Oder-Filterung.
Schu mal in der Online Hilfe danach.

Dein Kriterienbereich müsste so aussehen:
Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDE
1Überschrift IÜberschrift IÜberschrift IÜberschrift IÜberschrift I
2Schlagwort 1
3 Schlagwort 2
4 Schlagwort 3
5 Schlagwort 4
6 Schlagwort 5
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg


So wird in einem rutsch nach allen einzelnen Schlagwörtern gefiltert.

_________________
mfg

Excel 2003, 2007
hertingo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Feb 2013, 13:27
Rufname:

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo Dum Dum,

erstmal vielen Dank für die schnelle Antwort.

Es sollen die Datensätze eigentlich nach allen angegebenen Schlagwörtern aus "Datenbank-Abfrage" gefiltert werden und zwar als "UND". Es sollen also nur die Datensätze angezeigt werden, die alle Schlagwörter enthält. Etzwas schwierig vermutlich!

Danke schon mal für die Hilfe!

VG
DumDum
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Feb 2013, 13:36
Rufname:

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo,

die Schlagwörter befinden sich doch alle in einer Spalte, oder nicht.

Und es soll jetzt nach all diesen Schlagwörtern aus Spalte I in Tabelle xy
in Tabell xyz gefiltert werden. hier tauchen die Schlagwörter auch in Spalte i auf.

Da ist eine Oder Filterung.
Es sollen in der Tabelle xyz die Daten gezeigt werden, in der in Spalte I
die Schlagwörter 1 oder 2 oder 3 oder... stehen.

Besser wäre, Du stellst mal eine Beispieldatei ein.

_________________
mfg

Excel 2003, 2007
hertingo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Feb 2013, 15:02
Rufname:

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo,

nein. Letztlich sollen nur die Datensätze angezeigt werden die sowohl dem Schlagwort1 als auch dem Schlagwort2 als auch dem Schlagwort3 ... (maximal 5 Schlagwörter aus der Spalte I in der Tabelle "Datenbank-Abfrage") enthalten. Die Daten, die gefiltert werden sollen, befinden sich in der Tabelle "Zw_Ergebnis". In dieser Tabelle befinden sich in den Spalten I bis M jeweils Schlagwörter, welche die uebrigen Werte in der dazugehoerigen Reihe auffindbar machen sollen.

Somit dürften nach dem Filtern nur noch Daten vorhanden sein, die allen filterkriterien zusammen entsprechen.

Vielen Dank schon mal!
DumDum
Im Profil kannst Du frei den Rang ändern


Verfasst am:
01. Feb 2013, 15:08
Rufname:

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo,

und was hältst Du davon. trotzdem mal eine Beispieldatei einzustellen?

_________________
mfg

Excel 2003, 2007
Gast



Verfasst am:
01. Feb 2013, 15:13
Rufname:

AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Mache ich gerne, komme allerdings erst am Montag an die Daten. Also bitte etwas Geduld und auf jeden fall schon mal vielen Dank.
hertingo
Im Profil kannst Du frei den Rang ändern


Verfasst am:
04. Feb 2013, 12:23
Rufname:


AW: AdvancedFilter - AW: AdvancedFilter

Nach oben
       Version: Office 2007

Hallo, das Problem habe ich (vielleicht nicht elegenat) gelöst.
Habe einfach für jedes Such-Schlagwort eine Autofilterung durchgeführt. So klappt es auf jeden Fall.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel VBA (Makros): Dropdown-Liste nach Filterung mit Advanced-Filter 1 TobiG91 47 10. Feb 2014, 21:02
Melanie Breden Dropdown-Liste nach Filterung mit Advanced-Filter
Keine neuen Beiträge Excel Auswertungen: Fehlende Filterergebnisse beim Filtern mit AdvancedFilter 7 AlexD 186 16. Jul 2013, 10:01
Thomas Ramel Fehlende Filterergebnisse beim Filtern mit AdvancedFilter
Keine neuen Beiträge Excel VBA (Makros): Problem mit AdvancedFilter 3 vento 612 22. Jul 2012, 18:43
RO_SCH Problem mit AdvancedFilter
Keine neuen Beiträge Excel VBA (Makros): advancedfilter 3 vbnoob 849 18. Nov 2011, 11:29
vbnoob advancedfilter
Keine neuen Beiträge Excel VBA (Makros): AdvancedFilter = nach Datum filtern nicht möglich 6 idodd 1364 21. Jun 2011, 16:44
idodd AdvancedFilter = nach Datum filtern nicht möglich
Keine neuen Beiträge Excel VBA (Makros): dynamischer AdvancedFilter, Exakte Filterung 4 Katharina Burkart 565 15. Dez 2010, 15:08
Katharina Burkart dynamischer AdvancedFilter, Exakte Filterung
Keine neuen Beiträge Excel VBA (Makros): .AdvancedFilter Notation in der Range 4 HenrietteBimmelbahn 988 19. Okt 2010, 13:49
HenrietteBimmelbahn .AdvancedFilter Notation in der Range
Keine neuen Beiträge Excel VBA (Makros): AdvancedFilter -> Zeilen in neues Tabellenblatt kopieren 7 namlo 785 03. Aug 2010, 15:59
kjot259 AdvancedFilter -> Zeilen in neues Tabellenblatt kopieren
Keine neuen Beiträge Excel VBA (Makros): spezialfilter/advancedfilter dynamisch an Eingaben anpassen 20 chinchiller 3376 07. Jan 2010, 15:57
chinchiller spezialfilter/advancedfilter dynamisch an Eingaben anpassen
Keine neuen Beiträge Excel VBA (Makros): Excel 2007 - Makro langsam (AdvancedFilter) 2 el_figo 1826 27. Nov 2009, 11:27
Thomas Ramel Excel 2007 - Makro langsam (AdvancedFilter)
Keine neuen Beiträge Excel VBA (Makros): AdvancedFilter uns sverweis 1 ernstdasbrot 285 03. Nov 2009, 10:20
ernstdasbrot AdvancedFilter uns sverweis
Keine neuen Beiträge Excel VBA (Makros): AdvancedFilter beschleunigen 3 jo81 824 21. Dez 2008, 10:21
Raimund AdvancedFilter beschleunigen
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks