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

Gantt-Diagramm Spalten ausblenden ab Startdatum

Forumthread: Gantt-Diagramm Spalten ausblenden ab Startdatum

Gantt-Diagramm Spalten ausblenden ab Startdatum
13.03.2025 17:32:46
Jianni
Hallo zusammen,

Ich würd gern die Spalten ab F vollständig ausblenden, bis zum Beginn des Zeitbalkens auf Zeile 6.
Ich habs bereits mit VBA versucht über die KI, jedoch passiert nichts.

Vielen Dank im Voraus!

https://www.herber.de/bbs/user/176243.xlsm
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
13.03.2025 17:46:32
Yal
Hallo Jianni,

markiere die Spalten F bis S, dann Menü "Daten", "Gruppieren". Danach auf die [1] oder [2] oder [+] [-]
Schneller, einfacher günstiger geht es nicht.

Jetzt kommt es nur darauf an, ob es dir darum geht, diese Spalten auszublenden, oder VBA zu lernen. Einfach bescheid sagen. Fürs VBA Lernen bekommst Du auf alle Fälle Unterstützung, aber denke daran, dass ohne eine solides Excel-Wissen das Lernen von VBA sehr mühsam sein kann. Für einprogrammierte Anweisungen gibt es keine Bestätigungsmeldung à la "Sind Sie sicher, dass Sie alle Daten überschreiben wollen?"

VG
Yal
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
13.03.2025 18:50:40
Alwin Weisangler
Hallo,

anbei ein Weg via DropDown Auswahl (Leistungsphase) und Togglebutton Ein- und Ausblenden vor Startdatum.
Modul des Tabelleblattes:


Private Sub ToggleButton1_Click()
Dim sDatum As Variant, iZeile As Variant, i&, Sp
iZeile = Application.Match(Range("D1"), Range("B1:B" & Cells(Rows.Count, 2).End(xlUp).Row), 0)
If Not IsError(iZeile) Then
For i = 0 To 7
sDatum = Application.Match(CLng(CDate(Cells(iZeile, 4) + i)), Rows(3), 0)
If Not IsError(sDatum) Then Exit For
Next i
If Not IsError(sDatum) Then
Sp = Split(Replace(Columns(sDatum - 1).Address, "$", ""), ":")
If ToggleButton1.Value = True Then
Columns("F:" & Sp(0)).Hidden = True
Else
Columns("F:" & Sp(0)).Hidden = False
End If
End If
End If
End Sub

https://www.herber.de/bbs/user/176245.xlsm

Gruß Uwe
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
13.03.2025 19:49:54
Yal
Hallo Uwe,

eigentlich ist erst Freitag "Klugscheissertag"... ;-)

Davor:
            If ToggleButton1.Value = True Then

Columns("F:" & Sp(0)).Hidden = True
Else
Columns("F:" & Sp(0)).Hidden = False
End If

Danach:
Columns("F:" & Sp(0)).Hidden = ToggleButton1.Value


VG
Yal
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
14.03.2025 11:30:42
Jianni
Moin Uwe,

super danke dafür, klappt alles..

Mein Vorgesetzter will halt alles so "automatisiert" wie möglich haben. Es soll das kleinste Datum genommen werden (egal welche LPH) und für dieses Datum dann alle Spalten davor ausgeblendet werden.
Ich würde ihn am liebsten deine Version zeigen mit der Auswahlmöglichkeit und dann nochmal ne Vollautomatisierte.🙂


Grüße
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
14.03.2025 12:52:00
Alwin Weisangler
Hallo,

ich habe diese Prozedur so eingebaut, dass bei Start der Datei und bei Änderungen an den Datumseinträgen die Prozedur gestartet wird.
Allerdings kann ich mir vorstellen, dass nach einer Weile die automatische Vorgehensweise nervt bzw. auch mal im Wege ist.
Das kann aber mit dem Togglebutton jederzeit wieder aufheben.
https://www.herber.de/bbs/user/176257.xlsm

Gruß Uwe
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
14.03.2025 13:18:42
Alwin Weisangler
Da hatte ich noch was vergessen. Ändere diese Prozedur so:


Sub FruehesDatumHidden()
Dim sDatum As Variant, iZeile As Variant, i&, Sp
With Tabelle2
.Columns("F:DE").Hidden = False
iZeile = Application.Match(Application.Min(.Range("D6:D" & .Cells(Rows.Count, 4).End(xlUp).Row)), Range("D1:D" & Cells(Rows.Count, 4).End(xlUp).Row), 0)
If Not IsError(iZeile) Then
For i = 0 To 7
sDatum = Application.Match(CLng(CDate(.Cells(iZeile, 4) + i)), .Rows(3), 0)
If Not IsError(sDatum) Then Exit For
Next i
If Not IsError(sDatum) Then
Sp = Split(Replace(.Columns(sDatum - 1).Address, "$", ""), ":")
.Columns("F:" & Sp(0)).Hidden = True
End If
End If
End With
End Sub


Gruß Uwe
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
17.03.2025 10:50:25
Jianni
Moin,

ja, was soll ich sagen, er möchte es so haben, hahah...

Danke!

Das Einzige was mir noch aufgefallen ist: wenn das Startdatum am Ende des Monats liegt, wird leider die Zelle wo der Monat steht, so weit zusammen gezogen, dass man ihn nicht mehr erkennt. Kann man da was machen?

Grüße


Userbild
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
13.03.2025 21:09:22
Alwin Weisangler
Hallo Yal,

der Hinweis ist doch ok. Ich empfinde das eigentlich nicht als Besserwisserei, zumal ich das eh nur als Hobby um meine grauen Zellen fit zu halten, betreibe.

Gruß Uwe
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
13.03.2025 17:55:34
Jianni
Hi Yal,

erstmal danke für deine schnelle Antwort!

ich hätte mich präziser ausdrücken sollen merke ich gerade... es geht mir darum, dass dieser Prozess (Ausblenden der Spalten) automatisiert abläuft, in Abhängigkeit des Startdatums. Ob mit VBA oder nicht, ist mir eigentlich egal😅

Grüße
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
13.03.2025 18:28:42
Yal
Hallo Jianni,

ja, so hatte ich es herausgelesen. Aber genau das ist der Punkt: weder VBA noch was anderes kann Gedanken lesen. Alles was Du automatisieren möchtest, muss eindeutig beschrieben und alle Eventualitäten gedacht werden, um zu vermeiden, dass etwas passiert, was nicht erwünscht ist.

In deinem Fall geht es darum im Bereich D6 bis letzte Zeile nach unten das Minima zu ermitteln und im Bereich F3 nach links das letzte Datum kleiner dieses Minima zu ermitteln um die Spalten auszublenden.

Es könnte so aussehen:
Sub Spalten_ausblenden()

Dim Z As Range
Dim Mini As Date
Dim Sp As Long

Application.ScreenUpdating = False
With Worksheets("Projektplan LPH")
'Spalten einblenden
.Columns.Visible = True
'Minima in Startdatum ermitteln
Mini = WorksheetFunction.Min(.Range("D6"), .Cells(Rows.Count, "D").End(xlUp))
'Letzte Spalte kleiner als Minima (in Zeile 3 ab F3)
For Each Z In .Range("F3", .Range("F3").End(xlToRight))
If CDate(Z.Value) Mini Then Sp = Z.Column Else Exit For
Next
'Spalten ausblenden
If Sp >= 6 Then .Range(6 & ":" & Sp).Visible = True ' 6te Spalte ist F
End With
Application.ScreenUpdating = True
End Sub
Ein Aufruf bei jeder Änderung in Zellen ("Worksheet_Change") ist nicht sinnvoll. Lieber bei Bedarf mit Alt+F8 aufrufen.

Dieser Code funktioniert natürlich nur solang keine Änderung vorkommen, wie andere Zeile, andere Spalte, andere Inhalt in Spalte D unter den Datum, usw...
VBA ist nie "es wird immer funktionieren". Daher bin ich immer skeptisch, VBA-Lösungen an "Basiskenntnisse in Excel" zu übergeben. Weil der Empfänger damit nicht selbständig umgehen kann (ich mache trotzdem mal wieder einen Versuch ;-)

VG
Yal

Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
14.03.2025 11:24:36
Jianni
Moin Yal,

ich entschuldige mich schonmal vorab für meine Inkompetenz😅

aber wo und wie implementiere ich den Code in VBA? ins Tabellenblatt oder in einem Modul? es kommt immer ne Fehlermeldung...


Grüße
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
14.03.2025 18:33:56
Yal
Hallo Jianni,

ein bisschen mehr Genauigkeit, bitte sehr. Mit "ein Fehler" sind zu viele Möglichkeiten offen, dass man drauf eingehen kann.

VG
Yal
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
17.03.2025 10:23:24
Jianni
Moin,

sorry, hier der Screenshot mit der Fehlermeldung und die dazugehörige Datei.


Grüße

Userbild

https://www.herber.de/bbs/user/176301.xlsm
Anzeige
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
14.03.2025 18:42:59
daniel
und die Fehlermeldung hat sicherlich auch einen Text, der beschreibt, um was für einen Fehler es ich handelt?
warum glaubst du, es wäre für die Behebung des Fehlers völlig unwichtig, wie der Text dieser Fehlermeldung lautet?
Gruß Daniel
AW: Gantt-Diagramm Spalten ausblenden ab Startdatum
17.03.2025 10:24:09
Jianni
Hast recht, danke für den Hinweis!
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18