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

Forumthread: Spalten ausblenden wenn Bedingung erfüllt

Spalten ausblenden wenn Bedingung erfüllt
06.10.2004 09:59:08
Miro
Hallo,
ich habe ein Excel-Problem, dass ich selbst aber nicht lösen kann:
Die Spalten meiner Excel-Tabelle sind mit forlaufenden Monatsdaten beschriftet,
also Okt 04, Nov 04, Dez 04 u.s.w.
In einer Excel Zelle der Tabelle kann der Anwender ein gewünschtes Datum auswählen (z.B. Okt. 04).
Excel soll nun alle Spalten die einem Monatsdatum größer dem ausgewählten Datum beschriftet sind ausblenden.
(Bsp. Benutzer wäklt das Datum Okt 04 aus; alle Spalten ab November 04 sollen dann ausgeblendet werden). Wenn hier das niemand hinkriegt dann gebe ich auf.
Danke für eure Hilfe...
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten ausblenden wenn Bedingung erfüllt
06.10.2004 11:35:58
Matthias
Hallo Miro,
dazu brauche ich aber noch einige Infos:
In welcher Zelle wird das Datum ausgewählt? Wird es einfach so eingegeben oder aus einer Liste ausgewählt?
Wie sind die Spaltenüberschriften formatiert? Als Text oder Datum mit Format MMM JJ ?
Am besten wäre sicherlich, du lüdest (!) die Mappe mal hoch.
Gruß Matthias
Anzeige
AW: Spalten ausblenden - Beispieldatei
06.10.2004 13:51:53
Miro
Hi Matthias,
erstmal danke für die Beispieldatei, sieht schon ziemlich beeindruckend aus. Leider kann ich dir die Originaldatei nicht schicken (sonst reißt mir jemand den Kopf ab), aber im Prinzip war es genau das was ich gesucht habe (habe ebenfalls ebenfalls ein Auswahlfeld mit Dropdown). Ich habe jetzt nur noch zwei Probleme (habe echt keine Ahnung von VBA):
1. Wie kriege ich ein Makro in eine Excel-Datei rüberkopiert?
2. Wie kann ich dafür sorgen, dass das Makro die Bedingung nur bis zu einer bestimmten Spalte (etwa Y) ausführt?
Nochmals danke für die Hilfe...
Anzeige
AW: Spalten ausblenden - Beispieldatei
06.10.2004 14:44:36
Matthias
Hallo Miro,
Ich habe das Makro etwas angepasst:
---------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
'Konstanten (bei Bedarf anpassen):
Const Auswahlzelle = "A2" 'die Zelle, in der der Monat ausgewählt wird
Const Monatsüberschriften = "B1:Z1" 'der Bereich, in dem die Spaltenüberschriften stehen
Dim i As Integer, c As Integer
Dim s_letzte As Range
Dim s_erste As Range
Dim s As Range
If Target.Address(0, 0) = Auswahlzelle Then
'Auswahl geändert:
Set s_erste = Range(Monatsüberschriften)(1)
Set s_letzte = Range(Monatsüberschriften)(1).Offset(0, Range(Monatsüberschriften).Count - 1)
Range(Monatsüberschriften).EntireColumn.Hidden = False
For Each s In Range(Monatsüberschriften)
If s.Value > Target.Value Then
Range(s, s_letzte).EntireColumn.Hidden = True
Exit For
End If
Next
End If
End Sub
---------------------------------------------
Und in deine Tabelle kriegst du es folgendermaßen:
1) kopiere das obige Makro in die Zwischenablage
2) Öffne deine Mappe, aktiviere das relevante Blatt und rechtsklicke auf den Namen der Tabelle im Tabellenblattregister (unten)
3) klicke im erscheinenden Kontextmenü auf "Code anzeigen"
4) Kopiere den Code in das erscheinende Fenster
5) Passe evtl. die hinter "Const" definierten Konstanten an deine Tabelle an
Das müsste es dann auch schon gewesen sein.
Viel Erfolg,
Matthias
Anzeige
AW: Spalten ausblenden - Beispieldatei
06.10.2004 17:29:30
Miro
Hallo Matthias,
genau das ist es. Ach, wenn ich das doch nur auch könnte. Aber eines Tages... .
Ich bin zuversichtlich. Bis zu diesem Tag bin ich froh, dass es Menschen wie dich und dieses Forum hier gibt. Mit anderen Worten: Tausend Dank!
LG
Miro
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Spalten in Excel ausblenden, wenn eine Bedingung erfüllt ist


Schritt-für-Schritt-Anleitung

Um in Excel Spalten auszublenden, wenn eine bestimmte Bedingung erfüllt ist, kannst Du ein VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Vorbereitung: Stelle sicher, dass Deine Spalten mit den gewünschten Monatsdaten beschriftet sind (z.B. Okt 04, Nov 04).
  2. Datumsauswahl: Erstelle eine Zelle, in der der Benutzer das gewünschte Datum auswählen kann (z.B. A2).
  3. Öffne den VBA-Editor:
    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  4. Füge ein neues Modul hinzu:
    • Rechtsklicke im Projekt-Explorer auf den Namen Deiner Arbeitsmappe.
    • Wähle Einfügen > Modul.
  5. Füge den VBA-Code ein:
    • Kopiere den folgenden Code und füge ihn in das Modul ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    Const Auswahlzelle = "A2" 'Die Zelle, in der der Monat ausgewählt wird
    Const Monatsüberschriften = "B1:Z1" 'Der Bereich, in dem die Spaltenüberschriften stehen
    Dim s_letzte As Range
    Dim s_erste As Range
    Dim s As Range

    If Target.Address(0, 0) = Auswahlzelle Then
        Range(Monatsüberschriften).EntireColumn.Hidden = False
        Set s_erste = Range(Monatsüberschriften)(1)
        Set s_letzte = Range(Monatsüberschriften)(1).Offset(0, Range(Monatsüberschriften).Count - 1)

        For Each s In Range(Monatsüberschriften)
            If s.Value > Target.Value Then
                Range(s, s_letzte).EntireColumn.Hidden = True
                Exit For
            End If
        Next
    End If
End Sub
  1. Schließe den VBA-Editor: Drücke ALT + Q, um den Editor zu schließen und kehre zu Excel zurück.
  2. Teste das Makro: Wähle ein Datum in der Zelle A2 aus, und die Spalten, die nach diesem Datum liegen, sollten automatisch ausgeblendet werden.

Häufige Fehler und Lösungen

  • Fehler: Spalten werden nicht ausgeblendet
    Lösung: Überprüfe, ob die Zelle für die Datumsauswahl korrekt angegeben ist. Stelle sicher, dass die Spaltenüberschriften im richtigen Datenformat vorliegen.

  • Fehler: Der VBA-Code wird nicht ausgeführt
    Lösung: Stelle sicher, dass Du den Code im richtigen Arbeitsblatt-Modul eingefügt hast. Rechtsklicke auf den Tab der Tabelle und wähle „Code anzeigen“.


Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du die Funktion "Filter" in Excel ausprobieren:

  1. Markiere Deine Daten.
  2. Gehe zu Daten > Filtern.
  3. Setze einen Filter auf die Spaltenüberschrift und wähle nur die gewünschten Monate aus.

Diese Methode hat jedoch Einschränkungen, da sie nicht automatisch funktioniert, wenn sich die Auswahl in der Zelle ändert.


Praktische Beispiele

Angenommen, Du hast folgende Monatsdaten in den Spalten B bis Z:

B C D E
1 Okt 04 Nov 04 Dez 04 Jan 05
2

Wenn Du in Zelle A2 "Nov 04" auswählst, wird die Spalte C und D ausgeblendet, sodass nur die Spalte B sichtbar bleibt.


Tipps für Profis

  • Makros sicher speichern: Stelle sicher, dass Du Deine Excel-Datei im .xlsm-Format speicherst, um Makros zu erhalten.
  • Debugging: Wenn das Makro nicht funktioniert, setze Haltepunkte im VBA-Code, um den Fehler zu identifizieren.
  • Benutzerfreundlichkeit: Erstelle ein Dropdown-Menü für die Datumsauswahl, um Eingabefehler zu minimieren.

FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um nur bis zu einer bestimmten Spalte zu arbeiten?
Du kannst die Const Monatsüberschriften-Konstante anpassen, um den Bereich zu ändern, den das Makro abdeckt (z.B. Const Monatsüberschriften = "B1:Y1").

2. Gibt es eine Möglichkeit, Spalten ohne VBA auszublenden?
Ja, Du kannst die Filterfunktion in Excel verwenden, um Spalten manuell auszublenden, jedoch ist diese Methode nicht automatisiert.

3. Was ist, wenn ich die Spalten wieder einblenden möchte?
Du kannst die Spalten manuell einblenden, indem Du mit der rechten Maustaste auf die ausgeblendeten Spalten klickst und „Einblenden“ wählst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige