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

Forumthread: Spalten ausblenden wenn Datum

Spalten ausblenden wenn Datum
20.08.2015 08:41:05
Major
Hallo zusammen,
habe zwar ähnliche Beiträge gefunden, aber leider sind meine VBA Kenntnisse so schwach, dass ich mir aus mehreren Beiträgen nichts zusammenstellen kann.
Ich möchte alle Spalten ausblenden, die in ihrer Zelle (Zellnr.6) das Datum kleiner Heute (also Date) haben.
Für einzelne Spalten bekommen ich das auch hin...
<i>If (Range("BR6")) < Date Then Columns("BR").EntireColumn.Hidden = True</i>
... aber ich tu mir sehr schwer damit alle Zellen der Mappe auf einmal zu durchlaufen.
Ich hoffe ich konnte mich verstädnlich ausdrücken und danke jetzt schon für eure Hilfe!

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Spalten ausblenden wenn Datum
20.08.2015 09:02:23
Matthias
Hallo Major,
das ganze geht mit einer Schleife indem du deine Spalte durch eine Variable ersetzt.
Mit "Cells(Zeile,Spalte)" statt "Range()" kannst du dann die Spalte in Zahlen-Form angeben.

Sub Test()
Dim x as Long
For x = 1 To 26 'Von Spalte A bis Z
If (Cells(6,x)) 
Um die letzte beschriebene Spalte zu ermitteln gibt es noch diesen Befehl:
Cells(1,Columns.Count).End(xlToleft).Column 

Damit kannst du deinen Endwert ersetzen falls du alle Spalten prüfen willst, etwa so:
 For x = 1 To Cells(1,Columns.Count).End(xlToleft).Column 
lg Matthias

Anzeige
AW: Spalten ausblenden wenn Datum
20.08.2015 11:00:04
Major
Hallo,
na das geht ja fix hier.... danke soweit, den ersten code habe ich benutzt und funktioniert.
Eleganter ist es wie du schon sagst, wenn das makro wirklich nur bis zur letzten Zelle durchläuft und nicht unnötig weit. Das habe ich allerdings nicht hinbekommen.
Wie bette ich den zweiten code in den ersten ein?
Ersetze ich jedes x durch Columns.count?
Danke für eure Hilfe!
Gruss Major

Anzeige
AW: Spalten ausblenden wenn Datum
20.08.2015 15:55:05
Matthias
Nein nein,
du ersetzt die "26", also deinen Endwert, durch "Cells(1,Columns.Count).End(xlToleft).Column "
Komplett sieht das dann so aus:

Sub Test()
Dim x as Long
For x = 1 To Cells(1,Columns.Count).End(xlToleft).Column
If (Cells(6,x)) 
lg Matthias

Anzeige
AW: Spalten ausblenden wenn Datum
20.08.2015 17:13:29
Major
Danke dir!
Super erklärt, Thema beendet!
;

Forumthreads zu verwandten Themen

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 in Excel ausblenden, wenn Datum kleiner als heute


Schritt-für-Schritt-Anleitung

Um alle Spalten in Excel auszublenden, deren Datum in der Zellnummer 6 kleiner als das heutige Datum ist, kannst du den folgenden VBA-Code verwenden. Dieser Code durchläuft alle Spalten und blendet die entsprechenden aus.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code ein:
Sub SpaltenAusblendenWennDatum()
    Dim x As Long
    For x = 1 To Cells(1, Columns.Count).End(xlToLeft).Column
        If Cells(6, x) < Date Then
            Columns(x).EntireColumn.Hidden = True
        End If
    Next x
End Sub
  1. Schließe den VBA-Editor und führe das Makro aus, indem du ALT + F8 drückst und SpaltenAusblendenWennDatum auswählst.

Häufige Fehler und Lösungen

  • Fehler: "Typmissverständnis"
    Lösung: Stelle sicher, dass die Zellen in Zeile 6 tatsächlich Datumswerte enthalten. Wenn sie als Text formatiert sind, wird der Vergleich nicht korrekt funktionieren.

  • Fehler: Spalten werden nicht ausgeblendet
    Lösung: Überprüfe, ob das Datum in den Zellen korrekt eingegeben ist und ob du das Makro für das richtige Arbeitsblatt ausführst.


Alternative Methoden

Falls du keine VBA-Makros verwenden möchtest, kannst du auch die Filterfunktion von Excel nutzen:

  1. Wähle die Zeile mit den Daten aus.
  2. Klicke auf Daten > Filter.
  3. Setze einen benutzerdefinierten Filter, um nur die Daten anzuzeigen, die größer oder gleich dem heutigen Datum sind.

Diese Methode ist zwar nicht so automatisiert wie VBA, kann aber in bestimmten Situationen nützlich sein.


Praktische Beispiele

Angenommen, du hast folgende Daten in Zeile 6:

A B C D E
6 01.01.2023 15.08.2023 10.01.2022 05.05.2023 20.06.2021

Nach Ausführung des VBA-Codes würden die Spalten C und E ausgeblendet, da ihre Datumswerte kleiner als das heutige Datum sind.


Tipps für Profis

  • Verwende Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert sind. Dies hilft, Fehler zu vermeiden.
  • Du kannst den Code anpassen, um weitere Bedingungen hinzuzufügen, z.B. nur Spalten auszublenden, die ein bestimmtes Kriterium erfüllen.
  • Überlege, das Makro an ein Button in deiner Excel-Oberfläche zu binden, um die Benutzerfreundlichkeit zu erhöhen.

FAQ: Häufige Fragen

1. Wie kann ich die ausgeblendeten Spalten wieder sichtbar machen?
Du kannst die ausgeblendeten Spalten wieder sichtbar machen, indem du die Spalten auswählst, rechtsklickst und "Einblenden" wählst.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, dieser VBA-Code sollte in allen modernen Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010, 2013, 2016, 2019 und Microsoft 365.

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