Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Spalten mit bestimmtem Kriterium ausblenden

Spalten mit bestimmtem Kriterium ausblenden
12.06.2009 09:36:10
Dan
Hallo
Ich möchte Spalten ausblenden, die in einer Referenzzelle ein bestimmtes Kriterium haben.
Beispiel: ïn der Referenzzelle in Zeile 1 steht ein bestimmter Wert = XY.
Dieser Wert ist in folgenden Spalten vorhanden: E1, H1, W1.
Es sollen nun alle Spalten von D bis Z geprüft werden, ob dieser Referenzwert vorhanden ist und wenn ja, soll die entsprechende Spalte ausgeblendet werden.
Wäre cool, wenn mir jemand helfen könnte!
Gruss
Dan
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten mit bestimmtem Kriterium ausblenden
12.06.2009 09:57:14
UweD
Hallo
mit VBA geht das.
Makro in ein Modul copieren und ausführen....


Sub aublenden()
    Dim i%, Ab%, Bis%, Was$
    Ab = 4: Bis = 26 'D bis Z
    Was = "XY"
    Application.ScreenUpdating = False
    With ActiveSheet
        .Range(Columns(Ab), Columns(Bis)).EntireColumn.Hidden = False 'zurücksetzen
        For i = Ab To Bis
            If .Cells(1, i) = Was Then
                .Columns(i).EntireColumn.Hidden = True
            End If
        Next i
    End With
End Sub


Gruß UweD
Anzeige
AW: Spalten mit bestimmtem Kriterium ausblenden
12.06.2009 10:22:48
Dan
super, vielen Dank. Es funktioniert so!
Ich habe nun noch eine weitere Frage: wie ist das Makro anzupassen, wenn er gleich 2 Referenzen ausblenden soll? Ich meine damit zusätzlich zum XY noch die Spalten ausblenden, die z.B. MN als Referenz haben.
Zum Schluss wie blendet man alle wieder ein?
Sorry, bin leider VBA-mässig völlig am Anschlag!
Danke schon mal im Voraus.
Gruss
Dan
Anzeige
AW: Spalten mit bestimmtem Kriterium ausblenden
12.06.2009 12:12:43
UweD
Hallo nochmal.
zu 1) mit or Verknüpfung kannst du das ausdehnen.


Sub Aublenden()
    Dim i%, Ab%, Bis%, Was1$, Was2$
    Ab = 4: Bis = 26 'D bis Z
    Was1 = "XY"
    Was2 = "MN"
    Application.ScreenUpdating = False
    With ActiveSheet
        .Range(Columns(Ab), Columns(Bis)).EntireColumn.Hidden = False 'zurücksetzen
        For i = Ab To Bis
            If .Cells(1, i) = Was1 Or .Cells(1, i) = Was2 Then
                .Columns(i).EntireColumn.Hidden = True
            End If
        Next i
    End With
End Sub
zu 2)
Sub Alles_zurück()
    Dim Ab%, Bis%
    Ab = 4: Bis = 26 'D bis Z
    ActiveSheet.Range(Columns(Ab), Columns(Bis)).EntireColumn.Hidden = False ' nur den Bereich zurücksetzen
    'oder alle Spalten
    'ActiveSheet.Cells.EntireColumn.Hidden = False ' alle Spalten zurücksetzen
End Sub


Gruß
Anzeige
AW: Spalten mit bestimmtem Kriterium ausblenden
12.06.2009 12:26:45
Dan
Genial, ganz herzlichen Dank, Uwe!!!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Spalten mit bestimmtem Kriterium in Excel ausblenden


Schritt-für-Schritt-Anleitung

Um Spalten in Excel auszublenden, die ein bestimmtes Kriterium in einer Referenzzelle haben, kannst Du folgendes VBA-Makro verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
Sub Aublenden()
    Dim i%, Ab%, Bis%, Was$
    Ab = 4: Bis = 26 'D bis Z
    Was = "XY"
    Application.ScreenUpdating = False
    With ActiveSheet
        .Range(Columns(Ab), Columns(Bis)).EntireColumn.Hidden = False 'zurücksetzen
        For i = Ab To Bis
            If .Cells(1, i) = Was Then
                .Columns(i).EntireColumn.Hidden = True
            End If
        Next i
    End With
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, um die gewünschten Spalten auszublenden.

Wenn Du Spalten mit zwei Referenzwerten (z.B. "XY" und "MN") ausblenden möchtest, kannst Du das Makro wie folgt anpassen:

Sub Aublenden()
    Dim i%, Ab%, Bis%, Was1$, Was2$
    Ab = 4: Bis = 26 'D bis Z
    Was1 = "XY"
    Was2 = "MN"
    Application.ScreenUpdating = False
    With ActiveSheet
        .Range(Columns(Ab), Columns(Bis)).EntireColumn.Hidden = False 'zurücksetzen
        For i = Ab To Bis
            If .Cells(1, i) = Was1 Or .Cells(1, i) = Was2 Then
                .Columns(i).EntireColumn.Hidden = True
            End If
        Next i
    End With
End Sub

Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Überprüfe, ob Du das Makro korrekt eingefügt hast und sicherstellst, dass die Referenzzelle tatsächlich den gesuchten Wert enthält.
  • Fehler: Alle Spalten werden ausgeblendet.

    • Stelle sicher, dass der Referenzwert im Code korrekt angegeben ist. Achte darauf, dass es keine zusätzlichen Leerzeichen gibt.
  • Fehler: Excel reagiert nicht.

    • Überprüfe, ob die Bildschirmaktualisierung (Application.ScreenUpdating) korrekt gesetzt ist. Setze sie auf True, wenn Du die Sichtbarkeit der Spalten ändern möchtest.

Alternative Methoden

Wenn Du keine VBA-Makros verwenden möchtest, kannst Du auch Filter in Excel verwenden:

  1. Wähle die Zeile mit den Überschriften aus.
  2. Klicke auf Daten und dann auf Filter.
  3. Klicke auf den Dropdown-Pfeil in der Spalte, die Du filtern möchtest.
  4. Wähle Textfilter und dann Enthält.
  5. Gib den gewünschten Wert ein und bestätige.

Diese Methode blendet zwar keine Spalten aus, sondern zeigt nur die Zeilen mit bestimmten Inhalten an.


Praktische Beispiele

  1. Ausblenden von Spalten mit dem Wert "ABC":

    • Ändere den Wert in der Zeile Was = "XY" zu Was = "ABC" im VBA-Code.
  2. Zurücksetzen aller ausgeblendeten Spalten:

    • Verwende folgenden Code:
Sub Alles_zurück()
    Dim Ab%, Bis%
    Ab = 4: Bis = 26 'D bis Z
    ActiveSheet.Range(Columns(Ab), Columns(Bis)).EntireColumn.Hidden = False 'nur den Bereich zurücksetzen
    ' oder alle Spalten zurücksetzen
    ' ActiveSheet.Cells.EntireColumn.Hidden = False 'alle Spalten zurücksetzen
End Sub

Tipps für Profis

  • Nutze die Möglichkeit, Spalten in Excel automatisch auszublenden, indem Du die Makros in Ereignisprozeduren wie Worksheet_Change integrierst.
  • Speichere Deine Makros in einer Excel-Vorlage (.xltm), um sie leicht wiederverwenden zu können.
  • Experimentiere mit der Bedingten Formatierung, um die Sichtbarkeit von Daten zu verbessern.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Werte gleichzeitig ausblenden?
Du kannst die If-Bedingung im VBA-Kode mit Or verknüpfen, um mehrere Werte zu berücksichtigen.

2. Wie blende ich alle Spalten in Excel aus?
Verwende den VBA-Code ActiveSheet.Cells.EntireColumn.Hidden = True, um alle Spalten auszublenden.

3. Kann ich auch bestimmte Zeilen ausblenden?
Ja, du kannst ein ähnliches Makro schreiben, um Zeilen auszublenden, indem du EntireRow.Hidden anstelle von EntireColumn.Hidden verwendest.

4. Was ist der Unterschied zwischen Spalten und Zellen ausblenden?
Spalten ausblenden entfernt die gesamte Spalte, während das Ausblenden von Zellen nur die Inhalte der Zelle unsichtbar macht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige