HERBERS Excel-Forum - das Archiv

Thema: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.

Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
Michael Heeke
Ich habe eine Frage, zu der mir seit einigen Stunden keine Lösung gelingt:

In einem Tbl.blatt hab ich in der ersten Zeile jeweils den Monat und das Jahr stehen (Bspl.: J1= Jan. 24, K1 = Feb. 24,..., U1= Dez. 24). Dieses setzt sich regelmäßig mit auch leeren Spalten fort (Bspl.: AW1 = Jan.24, usw.).

Ich suche eine Markro-Lösung, in der die Spalten A-D immer erhalten bleiben und mir dann ein jweiliger Monat angezeigt wird (Bspl.: Alle Spalten mit "Jan. 24"). Die restlichen Spalten sollen ausgeblendet werden.

Hätte ich ein solches Makro, könnte ich dieses folgend für jeden Monat umschreiben; Mit dem Ziel, mir jeden Monat einzeln anzeigen lassen zu können.

Ich hoffe, ich habe Alles verständlich erklärt.

Vielleicht gibt es ja eine Lösung.

Vielen Dank dafür Vorab!
Michael
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
{Boris}
Hi,

welches Format hat "Jan. 24" genau? Ist das ein TEXT oder ein Datum, dass als "Jan. 24" formiert ist? Falls Letzteres: Welches Datum GENAU steht in den Zellen?

VG, Boris
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
daniel
Hi
1. füge eine zweite Zeile ein.

2. schreibe in die Spalte A dieser Zeile den Monat, der angezeigt werden soll, genau so, wie er in Zeile 1 in den verschiedenen Spalten steht.

3. Schreibe in diese Zeile ab der Spalte E die Formel: =Wenn(E1=$A$2;"";WAHR) und ziehe diese Formel nach rechts in die verwendeten Spalten.

4. schreibe dieses Makro ins Modul des Tabellenblatts, damit erfolgt die Spaltenfilterung automatisch, sobald du ein anderes Datum in A2 einträgst:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address(0, 0) = "A2" Then
Cells.EntireColumn.Hidden = False
If WorksheetFunction.CountIf(Rows(2), True) > 0 Then
Rows(2).SpecialCells(xlCellTypeFormulas, 4).EntireColumn.Hidden = True
End If
End If
End Sub




AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
Michael Heeke
Hallo Daniel.

Vielen Dank für Deine Hilfe. Irgendein Fehler scheint mir unterlaufen zu sein. Wenn ich z.B. Mär. 24 eingebe, erscheint als Ergebnis Jan. 24.

https://www.herber.de/bbs/user/168921.xlsx

Vielleicht kannst Du mir noch einmal helfen.

Besten Dank!
VG Michael
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
daniel
Hi
fällt dir da was auf?
Userbild
Gruß Daniel
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
Michael Heeke
Hallo Daniel.

Jo. Mist! Wenn ich hätte lesen können, hätte es auch sofort geklappt.

So funktioniert Deine Lösung einwandfrei. Vielen Dank dafür!!!

Viele Grüße
Michael
Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
Michael Heeke
Hallo.

Hier eine Beispieldatei. Vielen Dank an die Postenden zum Umgang damit:

https://www.herber.de/bbs/user/168920.xlsx

Viele Grüße
Michael
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
Michael Heeke
Hallo Boris. Vielen Dank für Deine Antwort.

Es handelt sich um reinen Text; also kein Datumsformat.

Viele Grüße
Michael
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
Eifeljoi 5
Hallo

Ohne das ich mir weitere Gedanken mache Frage ich mich für was soll das gut sein das Ausblenden?
Bisher in meiner Praxis kenne ich keinen zwingenden Grund für solches vorgehen.
Vielleicht ist dies sogar ohne VBA möglich.
Zeig mal bitte...
{Boris}
Hi,

...Deine Beispieldatei. Dann kann man es einbauen.
Mit Deiner Excelversion gibt es übrigens auch sehr einfache Möglichkeiten, dies dynamisch per Formel zu ermitteln.

VG, Boris
AW: Zeig mal bitte...
Michael Heeke
...Keinen Ahnung, ob das mit der Datei geklappt hat. Anbei ein zweiter Versuch. ...
AW: Zeig mal bitte...
Piet
Hallo

Nein, hat nicht geklappt. Folgende Vorgehensweise. Mit Button "Beispieldatei hochladen" erscheint ein Fenster mit Button "Datei auswählen". Danach musst du noch den Button "Beispielatei hochladen" drücken. Dann bekommst du einen Link.

Diesen Link bitte in deine Antwort kopieren, sonst geht der Link verloren! Er erscheint in blauer Farge als Internet Link.

mfg Piet
AW: Zeig mal bitte...
Piet
Hallo

ohne deine Datei zu kennen (hochzuladen) sollte es mit diesem Code klappen.
Vorausgesetzt, der Monat per InputBox stimmt mit dem Text in den Spalten überein.

mfg Piet



Option Explicit '21.4.2024 Piet für Herber Forum
Dim rFind As Range, Adr1 As String


Sub Spalten_ein_ausblenden()
Dim SuTxt As String, j As Integer
Dim TSpa As String 'Text LastSpalte
'Suchtext per InputBox eingeben
SuTxt = InputBox("Bitte Suchtext eingeben")
If SuTxt = Empty Then Exit Sub

'LastSpalte als Text aus UsedRange finden
TSpa = ActiveSheet.UsedRange.Address(, 0)
TSpa = Mid(TSpa, InStr(TSpa, ":") + 1)
TSpa = Left(TSpa, InStr(TSpa, "$") - 1)

'Alle Spalten bis Letzte Spalte ausblenden
Columns("E:" & TSpa).EntireColumn.Hidden = True

Set rFind = Columns("E:" & TSpa).Find(What:=SuTxt, After:=[e1], LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)

If Not rFind Is Nothing Then
Adr1 = rFind.Address
Do
rFind.EntireColumn.Hidden = False
Set rFind = Columns("E:" & TSpa).FindNext(rFind)
Loop Until rFind.Address = Adr1
Else
MsgBox SuTxt & " Suchtext nicht gefunden!": Exit Sub
End If
End Sub
AW: Zeig mal bitte...
Michael Heeke
Hallo Piet.

Deine Lösung funktioniert einwandfrei!

Vielen, vielen Dank. Top!

Viele Grüße
Michael
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
Michael Heeke
Hallo.

Hilfreich wäre es schon. In den einzelnen Spalten sind z.B. für Jan. 24 in Spalte J Budgets, in Spalte W Erträge & Aufwendungen, in Spalte AJ Abweichungen und in Spalte AX die absoluten Abweichungen, usw. enthalten. Dieses setzt sich für die einzelnen Monate fort. Möchte ich jetzt ein Monatsergebnis darstellen, ist eine "Zusammenfassung" sehr hilfreich. Zudem gibt es dieses Tbl.blatt für verschiedene Standorte / Produktionsstätten.

Viele Grüße
Michael
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
Eifeljoi 5
Hallo

Dann würde ich dir PQ empfehlen, dies nur als Tipp.
Da man deine Datei nicht kennt kann man leider nicht mehr sagen.
AW: Nur Spalten anzeigen, wenn Bedingung in Zelle 1 erfüllt ist.
MikeBeh
Oft kann man Spalten mit Zwischenberechnungsschritten ausblenden, wenn die Formel irgendwann fertig und fehlerfrei ist,
man die Zwischenberechnung aber trotzdem weiter nutzt.
In importierten Daten muss man oft eine ganze Reihe Spalten gar nicht weiter beachten/nutze -> ausblenden und damit Platz und Übersichtlichkeit auf dem Bildschirm zurückgewinnen