excel Spalten unter einer Bedingung ausblenden?
Hallo alle
leider kenne ich mich wirklich nicht so gut mit VBA und Macros aus, möchte aber gerne in meinem excel sheet ab der C Spalte prüfen ob die Summe der Spalte Gleich null ist. Wenn dies der Fall ist möchte ich sie gerne ausblenden wenn nicht soll sie weiter angezeigt werden. Kann mir das irgendwer weiter helfen? Reichen die Informationen zum erstellen aus? Liebe Grüße und vielen Dank für die Hilfe
Flo
3 Antworten
Hallo,
das Ausblenden der Spalten mit Summenbedingung erledigt der folgende Code. Nur die Frage wann er ausgeführt werden soll ist noch offen
Sub BedingtSpaltenausblenden()
Dim startSpalte As String, endSpalte As String, iSpalte As String
Dim SStart As Long, SEnde As Long, iZeile As Long
startSpalte = "C" 'Start und Ende an deine Tabelle anpassen
endSpalte = "E"
SStart = ActiveSheet.Range(startSpalte & 1).Column
SEnde = ActiveSheet.Range(endSpalte & 1).Column
If SStart > SEnde Then
MsgBox "Das Ende liegt vor dem Anfang, der Vorgang wird abgebrochen"
Exit Sub
End If
For i = SStart To SEnde
ActiveSheet.Columns(i).Hidden = False
iSpalte = ActiveSheet.Cells(1, i).Address(True, False)
iSpalte = Left(iSpalte, InStr(1, iSpalte, "$") - 1)
iZeile = ActiveSheet.Range(iSpalte & Rows.Count).End(xlUp).Row
If Application.WorksheetFunction.Sum(ActiveSheet.Range(iSpalte & 1 & ":" & iSpalte & iZeile)) = 0 Then
ActiveSheet.Columns(i).Hidden = True
End If
Next i
End Sub
Also am coolsten wäre natürlich wenn das Konstnt prüft und das anpasst sobald sich was verändert...
Sub SpalteWeg()
ActiveSheet.Columns(5).Hidden = True
End Sub
Mit dem Beispielmakro wird Spalte 5 (also Spalte E) in der aktiven Tabelle komplett ausgeblendet
Filter nutzen, der nur die Zellen mit der Summe der Zeile ungleich null ausgibt.
Ja das geht auch, ich würde allerdings gerne nicht immer auf die Filter zurück greifen, sondern das dass sheet bei Änderungen automatisch die entsprechenden Zeilen ein und ausblendet... danke trotzdem
Ohne zumindest einen Knopfdruck für ein Macro wird das nicht so einfach gehen. Du musst ja erst einmal alle Zeilen eingeblendet haben, damit du die Daten einfügen kannst.
Der Filter dagegen passt auch automatisch an.
Ein weiteres Problem mit ausgeblendeten Zeilen ist, dass du die Daten nicht weiter verrechnen kannst. Die Formel Teilergebnis() geht beim Filter, nicht aber bei ausgeblendeten Zeilen.
Ne die Daten in den Zellen beziehen sich ja auf andere blätter
Also das wäre so meine Vorstellung, ich verändere etwas auf den referenzblättern, und die vorher verborgenen Spalten poppen auf, oder ich mach halt ein Makro, dass ich wenn ich die Daten alle eingetragen habe die leeren Spalten hinzufügt (es wird jede Woche ein neues sheet erstellt)
Ich Sitz leider nicht mehr vor dem pc! Danke dir ich schau es mir in 3 Stunden an! Die Frage wann es ausgeführt wird ist nicht so wichtig. Kann ich ja auch manuell machen vielen Dank für die schnelle Hilfe