Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten statt Zeilen filtern

Spalten statt Zeilen filtern
29.10.2008 16:41:00
Steffen
Hallo Forum,
den Autofilter kenne ich, aber ich brauche einen Filter der Spalten anstatt der Zeilen und von VBA habe ich leider keine Ahnung.
ich habe eine Tabelle mit Namen in A2:A10. Im Bereich B2:X10 steht in verschiedenen Zellen entweder ein "x" oder die Zellen sind leer.
Nun hätte ich gerne ein Makro, das mir alle Spalte ausblendet, in denen kein "x" steht. Filterkriterium soll die Zeile der aktiven Zelle sein.
Kann mir jemand helfen? Vorab vielen Dank
Steffen
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten statt Zeilen filtern
29.10.2008 17:01:00
Rocky
Hallo Steffen,
ich glaub dat geht nicht.
aber stell doch die Tabelle um. Mach aus Zeilen Spalten.
Bereich auswählen - Kopieren - Neues Tabellenblaten - rechte Moustaste - inhalte einfügen - Transportieren.
Dann müsste es gehen.

Gruß Rocky



Wenn unter den Blinden der Einäugige König ist, dann findet man hier die Herren der Ringe!


Anzeige
AW: Spalten statt Zeilen filtern
29.10.2008 17:05:24
Rudi
Hallo,
so?

Sub tt()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Range("B:X").Columns
c.Hidden = c.Cells(ActiveCell.Row)  "x"
Next c
Application.ScreenUpdating = True
End Sub


Gruß
Rudi

AW: Spalten statt Zeilen filtern
29.10.2008 17:29:22
Steffen
Hallo Rudi,
ja, genauso habe ich mir das vorgestellt. Super, Vielen Dank.
Ich hätte noch einen kleinen Erweiterungswunsch. Es können nicht nur "x" sondern auch noch "y" vorkommen.
Jetzt habe ich eine Vorgabezelle A1. Trage ich dort ein "x" ein, soll nach allen "x" gefilter werden. Bei "y" in A1 soll nach allen "y" gefilter werden. Steht in A1 "alle", sollen alle Spalten mit "x" ODER "y" sichtbar bleiben. (Verständlich?)
Wenn Du mir das noch machen könntest, wäre ich wunschlos glücklich.
Viel Grüße
Steffen
:-)
Anzeige
AW: Spalten statt Zeilen filtern
29.10.2008 21:53:26
Rudi
Hallo,
etwa so:

Sub tt()
Dim c As Range
Application.ScreenUpdating = False
For Each c In Range("B:X").Columns
Select Case Range("A1")
Case "x", "y"
c.Hidden = c.Cells(ActiveCell.Row)  Range("A1")
Case "alles"
c.Hidden = c.Cells(ActiveCell.Row)  "x" _
Or c.Cells(ActiveCell.Row)  "y"
End Select
Next c
Application.ScreenUpdating = True
End Sub


Gruß
Rudi

Anzeige
AW: Spalten statt Zeilen filtern
30.10.2008 08:57:00
Steffen
Hi Rudi,
genial, tausend Dank!!!!
Viele Grüße
Steffen
AW: Spalten statt Zeilen filtern
29.10.2008 17:59:15
rofu
hallo,
etwa so ?
gruß
rofu

Die Datei https://www.herber.de/bbs/user/56379.xls wurde aus Datenschutzgründen gelöscht


AW: Spalten statt Zeilen filtern
29.10.2008 19:38:27
Steffen
Hi,
danke, klappt auch perfekt. Hättest Du noch eine Idee, wie man zwei Filterkriterien berücksichtigen könnte, "x" und "y" und über eine Auswahlzelle festlegen könnte, ob nur "x" oder nur "y" oder beides gefilter werden soll?
Viele Grüße
Steffen
Anzeige
AW: Spalten statt Zeilen filtern
29.10.2008 20:01:07
rofu
hallo steffen,
machbar ist fast alles.
das problem ist meist die formulierung des wunsches.
unklar für mich ist:
1) willst du das makro nur auf jeweils die active zelle anwenden?
2) kann in einer zeile ein x und ein y stehen ?
A B C D E G H I
sdsd x
asd x x
ad y
adr x y
rert x x x
zz
jj x
rert x x
jzj x
wie soll hier spalte G ausgeblendet werden - sowohl x als auch y
beispieldatei wäre vielleicht sinnvoll
gruß
rofu
Anzeige
AW: Spalten statt Zeilen filtern
29.10.2008 20:44:26
Steffen
Hallo Rofu,
Deine Beispielmappe ist schon perfekt. Jetzt stelle Dir nur vor, das anstelle mancher "x" auch "y" vorkommen können. Gefiltert werden soll die aktive Zeile genau wie im ersten Fall. Jetzt soll zwischen drei Fällen unterschieden werden:
1. nur Spalten mit "x" anzeigen
2. nur Spalten mit "y" anzeigen
3. Spalten mit x oder y anzeigen
Immer bezogen auf die aktive Zeile.
Un in irgend einer Zelle soll vorgegeben werden, welcher der drei Fälle zum Tragen kommt.
Jetzt klar?
Grüße
Steffen
Anzeige
AW: Spalten statt Zeilen filtern
29.10.2008 21:29:37
Steffen
hier die Datei
https://www.herber.de/bbs/user/56382.xls
in N1 wird vorgegeben, ob nur x oder nur y oder beides berücksichtigt werden soll.
Berücksichtigt heißt, die SPalte bleibt sichtbar. Immer bezogen auf die aktive Zeile.
Grüße
Steffen
Anzeige
AW: Spalten statt Zeilen filtern
30.10.2008 09:15:50
rofu
hallo,
jetzt sollte es passen.
bei dateneingabe achten, dass die eingabe von x,y so wie im filter eingegeben wird.
wenn im filter x, dann x, wenn X dann X usw..
gruß
rofu
https://www.herber.de/bbs/user/56393.xls
AW: Spalten statt Zeilen filtern
30.10.2008 15:39:00
Steffen
Hallo Rofu,
ja, funktioniert auch bestens. Danke auch Dir für die tolle Hilfe.
Grüße
Steffen
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spalten statt Zeilen filtern in Excel


Schritt-für-Schritt-Anleitung

Um in Excel Spalten statt Zeilen zu filtern, kannst Du ein VBA-Makro verwenden. Hier ist eine einfache Anleitung:

  1. Öffne Excel und lade die entsprechende Datei.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (DeinProjekt)“ > Einfügen > Modul.

  4. Kopiere und füge den folgenden Code ein:

    Sub SpaltenFiltern()
        Dim c As Range
        Application.ScreenUpdating = False
        For Each c In Range("B:X").Columns
            c.Hidden = c.Cells(ActiveCell.Row) <> Range("A1")
        Next c
        Application.ScreenUpdating = True
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Setze Deine Filterkriterien in Zelle A1 (z.B. "x" oder "y").

  7. Wähle die Zeile, die Du filtern möchtest, und führe das Makro aus (über ALT + F8 und dann auf "SpaltenFiltern" klicken).


Häufige Fehler und Lösungen

  • Fehler: Nichts wird gefiltert

    • Lösung: Stelle sicher, dass Du die richtige aktive Zeile ausgewählt hast und dass in Zelle A1 der Filterwert korrekt eingegeben ist.
  • Fehler: Makro läuft nicht

    • Lösung: Überprüfe, ob Makros in Deinen Excel-Einstellungen aktiviert sind.

Alternative Methoden

Wenn Du kein VBA verwenden möchtest, kannst Du die Daten auch manuell umstrukturieren:

  1. Kopiere den Datenbereich (z.B. B2:X10).
  2. Füge ihn in ein neues Blatt ein und wähle "Inhalte einfügen" > "Transponieren".
  3. Verwende den Autofilter, um die Zeilen zu filtern.

Diese Methode ist nützlich, wenn Du keinen Zugang zu VBA hast.


Praktische Beispiele

Angenommen, Du hast folgende Daten in Excel:

A B C D
1 x y
2 x x
3 y

Wenn Du in Zelle A1 "x" eingibst und das Makro ausführst, werden nur die Spalten B und C sichtbar, da sie "x" in der aktiven Zeile haben.


Tipps für Profis

  • Verwende dynamische Bereiche, um den Code flexibler zu gestalten, falls sich Deine Daten ändern.
  • Integriere Fehlerbehandlungen in Dein Makro, um die Benutzererfahrung zu verbessern.
  • Nutze benutzerdefinierte Formate, um die Sichtbarkeit von gefilterten Daten zu verbessern.

FAQ: Häufige Fragen

1. Kann ich in Excel auch nach mehreren Kriterien filtern? Ja, Du kannst den Code erweitern, um mehrere Kriterien zu berücksichtigen, indem Du zusätzliche Bedingungen im Select Case-Block hinzufügst.

2. Wie kann ich die Filter wieder zurücksetzen? Du kannst ein weiteres Makro erstellen, das alle Spalten wieder sichtbar macht, indem Du c.Hidden = False für jede Spalte verwendest.

3. Ist diese Methode in allen Excel-Versionen verfügbar? Die Verwendung von VBA ist in den meisten aktuellen Versionen von Excel verfügbar. Stelle sicher, dass Du eine Version verwendest, die Makros unterstützt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige