Zitat:Und wieso lädst du diese Datei dann nicht hoch? Niemand wird deine Datei nachbauen wollen.
hier mal eine Lösung ohne Beispieldatei Es wird immer nur ausgeblendet, Du kannst nacheinander bei Eingabe mehrere Daten mehrere Spalten ausblenden. Einblenden tust Du sie dann mit der Maus ...
Code:
Sub Ausblenden()
'Variablendeklaration
Dim iCnt%
'Schleife ueber alle Daten in Zeile 3
'(max. 366 Tage bei Schaltjahr)
For iCnt = 2 To 367
'Wenn Inhalt der Zelle gleich Inhalt I1, dann ausblenden
If Cells(3, iCnt) = Cells(1, 9) Then Columns(iCnt).EntireColumn.Hidden = True
'Ende Schleife ueber alle Daten in Zeile 3
Next
End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • excelfragen
ich hatte das so verstanden, dass du nur die Spalten eingeblendet haben möchtest, wenn in Zeile 3 die Spalte das Datum aus $I$1 hat.
Dann musst du bei Andrés Lösung in der "IF-Zeile" nur das "=" durch "<>" austauschen oder folgende Zeile verwenden:
Das Ganze kannst du auch im entsprechenden Tabellenmodul einbetten, so dass der Code bei jeder Änderung des Wertes in $I$1 ausgeführt wird:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iCnt%
If Target.Address = "$I$1" Then
For iCnt = 2 To 255
'If Cells(3, iCnt) <> Cells(1, 9) Then Columns(iCnt).EntireColumn.Hidden = True
Columns(iCnt).EntireColumn.Hidden = Cells(3, iCnt) <> Cells(1, 9)
Next
End If
End Sub
Dabei solltest du allerdings die Tabelle so aufbauen, dass das Datum, das du ändern möchtest, nicht zu den Spalten gehört, die ausgeblendet werden.
Herzliche Grüße aus dem Rheinland
Jörg
[Windows 10, Microsoft 365]
Folgende(r) 1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag:1 Nutzer sagt Danke an LuckyJoe für diesen Beitrag 28 • excelfragen
Jetzt lade ich wirklich mal die Excel-Datei auch hoch Sorry!
Ich habe mich jetzt daran noch ein wenig versucht, aber bin kläglich gescheitert...
Es sollen bei Eingabe des Datum in I1 alle Spalten ausgeblendet werden. Ausnahme hierbei ist die Spalte A1.
Im optimalsten Fall, sollte es möglich sein, das wenn in I1 als variable Eingabe z.B. 04.01.2019 steht, alle Spalten ausgeblendet werden, außer die Spalte A als Festwert und jeweils die Folgespalte in der der eingetragene Wert steht. In diesem Beispiel sollten also alle Spalten verschwinden, bis auf die Spalten A,H und I.
14.02.2019, 15:57 (Dieser Beitrag wurde zuletzt bearbeitet: 14.02.2019, 15:57 von Kuwer.)
Hallo,
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$I$1" Then
Application.ScreenUpdating = False
Columns.Hidden = True
Columns(1).Hidden = False
Columns(9).Hidden = False
Columns(Application.Match(Target.Value2, Rows(4), 0)).Resize(, 2).Hidden = False
Application.Goto Cells(1), True
Application.ScreenUpdating = True
End If
End Sub
If Target.Address = "$I$1" Then
Application.ScreenUpdating = False
For i = 2 To letzteSpalte
Columns(i).EntireColumn.Hidden = Cells(4, i) <> Cells(1, 9)
Next
Columns(9).EntireColumn.Hidden = False
If Target.Value = "" Then Columns.Hidden = False
Application.ScreenUpdating = True
End If
End Sub
Außerdem gibt das keinen Fehler bei z.B. "01.01.2019".