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

Forumthread: Spalten ausblenden wenn kein Schaltjahr

Spalten ausblenden wenn kein Schaltjahr
12.08.2019 19:40:36
Martin
Liebe Community,
ich habe einen Urlaubsplan (auf drei Registerbätter für je 4 Monate) bei dem, wenn ein Schaltjahr, in Zeilen A3 bis DW3 die Tage, also 01.01. bis 30.04. angezeigt werden. Diese mittels Formel bezogen aufs jeweilige Jahr aus A35 (als Zahl, z.B. 2020). Bei Jahren ohne Schaltjahr, wird mir in DW3 der 01.05. angezeigt. Die Spalte DW soll ausgeblendet werden wenn kein Schaltjahr ist, ich möchte also nur bis 30.04. angezeigt bekommen. Leider habe ich mit VGA/Makro keinerlei Erfahrung wie diese geschrieben werden.
Hat hier jemand eine Lösung?
Den Urlaubsplan habe ich hochgeladen:
https://www.herber.de/bbs/user/131400.xls
Schon mal riesen Dank für Eure Hilfe und Mühe.
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten ausblenden wenn kein Schaltjahr
12.08.2019 19:47:04
{Boris}
Hi,
die Formel in DW3 lautet:
=WENN(TAG(DV3+1)=1;"";DV3+1)
Und in VBA fragst Du die Zelle dann auf nix "" ab:
Sub til()
Columns("DW").Hidden = (Range("DW3") = "")
End Sub
VG, Boris
AW: Spalten ausblenden wenn kein Schaltjahr
12.08.2019 20:17:16
Martin
Hallo Boris,
lieben Dank für die schnelle und super Hilfe.
Die Formel ist klasse, so wird mir schon mal nichts angezeigt. Damit kann ich eigentlich schon gut leben.
Doch leider ist es bei der VGA nun so, dass z.B. im Jahr 2021 nun nur noch bis 29.04. und nicht mehr der 30.04. angezeigt wird, d.h. die Spalte DW komplett ausgeblendet bleibt...
Anzeige
Die Frage ist doch...
12.08.2019 20:19:36
{Boris}
Hi,
...wie genau startest Du das Makro?
Möchtest Du einen Automatismus? Oder reicht es, das 1 mal im Jahr so einzustellen?
VG, Boris
AW: Die Frage ist doch...
12.08.2019 20:22:52
Martin
Hi Boris,
gerne als Automatismus da ich die Tabelle auch anderen Kollegen zur Verfügung stelle.
Gruß
Martin
Mit Change_Ereignis
12.08.2019 20:28:40
{Boris}
Hi,
lass alle Formeln wie sie sind (also ohne die von mir bereits gepostete Formel) und nimm das Change-Ereignis.
Code gehört ins Klassenmodul Tabelle1
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "A35" Then
Columns("DW").Hidden = (Day(Range("DW3")) = 1)
End If
End Sub
VG, Boris
Anzeige
AW: Mit Change_Ereignis
12.08.2019 20:34:30
Martin
Boa Boris,
wie genial, jetzt klappt es super toll, genau wie ich es mir vorgestellt habe.
Vielen herzlichen Dank für Deine, vor allem super schnelle und super Hilfe!!!
Gruß
Martin
Hmmm...
12.08.2019 21:21:49
{Boris}
Hi Onur,
...und den Umweg über die Textbox findest Du jetzt einfacher als das einfache Change-Ereignis? ^^
VG, Boris
AW: Hmmm...
12.08.2019 21:30:12
onur
Kennst du denn ein Change-Ereignis, das auf Änderungen durch FORMELN reagiert?
Nun ja...
12.08.2019 21:47:23
{Boris}
Kennst du denn ein Change-Ereignis, das auf Änderungen durch FORMELN reagiert?
Calculate-Ereignis?^^
Ist hier ja aber gar nicht von Nöten.
VG, Boris
Anzeige
AW: Hmmm...
12.08.2019 21:34:40
onur
Ich hätte natürlich auch die Zelle mit "2019" überwachen lassen können, aber man weiss nicht, ob das bei der manuellen Eingabe bleibt.
AW: Spalten ausblenden wenn kein Schaltjahr
13.08.2019 11:01:05
Daniel
Hi
richte doch einfach für die Spalte DW eine Bedingte Formatierung mit dieser Formel als Regel ein:
=Monat(DW$3)=5
und als Format dunkelgrauer Hintergrund und das Zahlenformat ;;; (das blendet alle Inhalte aus)
Gruß Daniel
Anzeige
AW: Spalten ausblenden wenn kein Schaltjahr
13.08.2019 11:03:02
Daniel
oder mach den Hintergrund weiß und ohne rechten Rand.
dann sieht es so aus, als würde DW noch zu DX gehören.
Gruß Daniel
;
Anzeige
Anzeige

Infobox / Tutorial

Spalten ausblenden bei Nicht-Schaltjahren in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne deinen Urlaubsplan in Excel (z.B. urlaubsplan 2021 excel oder urlaubsplan 2020 excel).
  2. Platziere die Formel in DW3:
    =WENN(TAG(DW3+1)=1;"";DW3+1)
  3. Öffne den VBA-Editor (drücke ALT + F11).
  4. Füge ein neues Modul hinzu und kopiere den folgenden Code hinein:
    Sub til()
       Columns("DW").Hidden = (Range("DW3") = "")
    End Sub
  5. Für den Automatismus: Füge diesen Code ins Klassenmodul Tabelle1 ein:
    Private Sub Worksheet_Change(ByVal Target As Range)
       If Target.Address(0, 0) = "A35" Then
           Columns("DW").Hidden = (Day(Range("DW3")) = 1)
       End If
    End Sub
  6. Teste die Funktionalität: Ändere das Jahr in A35 und beobachte, ob die Spalte DW korrekt ausgeblendet wird, wenn kein Schaltjahr vorhanden ist.

Häufige Fehler und Lösungen

  • Fehler: Spalte DW bleibt immer ausgeblendet.

    • Lösung: Stelle sicher, dass die Formel in DW3 korrekt ist und die Zelle A35 tatsächlich das Jahr enthält.
  • Fehler: Der 30. April wird nicht angezeigt.

    • Lösung: Überprüfe die Formel in DW3 und achte darauf, dass das Jahr in A35 ein Schaltjahr ist, wenn du den 29. Februar einblenden möchtest.

Alternative Methoden

  • Bedingte Formatierung: Du kannst auch eine bedingte Formatierung für die Spalte DW verwenden:

    1. Wähle die Spalte DW aus.
    2. Gehe zu Start > Bedingte Formatierung > Neue Regel.
    3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gib folgende Formel ein:
      =Monat(DW$3)=5
    4. Setze die Formatierung auf einen dunkelgrauen Hintergrund und das Zahlenformat auf ;;;, um alle Inhalte auszublenden.
  • Hintergrundfarbe ändern: Alternativ kannst du die Hintergrundfarbe der Zelle auf Weiß setzen und den rechten Rand entfernen, sodass es aussieht, als ob DW zur nächsten Spalte gehört.


Praktische Beispiele

  • Urlaubsplan 2020 Excel: Wenn du den Urlaubsplan für 2020 verwendest, wird die Spalte DW nur dann angezeigt, wenn das Jahr 2020 in A35 steht, da es ein Schaltjahr war.
  • Urlaubsplan 2021 Excel: Für den Urlaubsplan 2021 wird die Spalte DW ausgeblendet, da 2021 kein Schaltjahr ist.

Tipps für Profis

  • Automatisierung: Verwende das Change-Ereignis, um deine Excel-Datei noch benutzerfreundlicher zu gestalten. So wird die Spalte DW automatisch aktualisiert, wenn das Jahr in A35 geändert wird.
  • Debugging: Wenn etwas nicht funktioniert, überprüfe, ob die Makros aktiviert sind und ob die richtigen Zellbezüge verwendet werden.

FAQ: Häufige Fragen

1. Wie kann ich den 29. Februar in Excel einblenden? Du kannst den 29. Februar einblenden, indem du ein Schaltjahr in A35 eingibst. Stelle sicher, dass die Formel in DW3 korrekt ist.

2. Welche Excel-Version benötige ich? Die beschriebenen Funktionen und VBA-Codes funktionieren in den meisten aktuellen Excel-Versionen, einschließlich Excel 2016, Excel 2019 und Excel für 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