Spalten per Makro einblenden
Hallo zusammen,
ich brauch noch einmal eure Hilfe, ich habe folgendes Makro um Spalten auszublenden wenn in einer Zelle eine 1 steht nun soll ein anders Makro die Spalten wieder einblenden wenn in den Zellen eine 0 steht und das bring ich im Augenblick nicht hin.
Makro zum ausblenden:
Sub Spalte_ausb()
Dim intSpalte As Integer
ActiveSheet.Unprotect Password:="test"
Application.ScreenUpdating = False
For intSpalte = 1 To Cells(2, Columns.Count).End(xlToLeft).Column
If Cells(100, intSpalte) = 1 Then
Columns(intSpalte).EntireColumn.Hidden = True
End If
Next
Application.DisplayAlerts = False
ActiveSheet.Protect Password:="test"
End Sub
Schon mal vielen Dank in voraus.
Grüße
Achim
Antwort schreiben
Antwort 1 von Hajo_Zi vom 21.12.2020, 10:16 OptionsLösung
Hallo Achim,
mach es mit einem Makro in dem Du
If Cells(100, intSpalte) = 1 Then
Columns(intSpalte).EntireColumn.Hidden = True
End If
änderst in
Columns(intSpalte).EntireColumn.Hidden = Cells(100, intSpalte) = 1
Gruß Hajo
Antwort 2 von speedy71 vom 21.12.2020, 10:57 Options
Hallo Hajo,
Danke für die schnelle Hilfe.
Grüße und einen schönen Sonntag
Achim
Antwort 3 von speedy71 vom 21.12.2020, 21:17 Options
Hallo Hajo,
ich muß leider jetzt erst feststellen das der folgende Code nicht ganz richtig läuft:
Sub spalte_einb4()
Dim intSpalte As Integer
ActiveSheet.Unprotect Password:="test"
Application.ScreenUpdating = False
For intSpalte = 1 To Cells(2, Columns.Count).End(xlToLeft).Column
Columns(intSpalte).EntireColumn.Hidden = Cells(100, intSpalte) = 1
Next
Application.DisplayAlerts = False
ActiveSheet.Protect Password:="test"
End Sub
es werden nur die ersten 47 Spalten bearbeitet, an was kann das denn bitte noch liegen, ich finde im Code keinen fehler.
Ich würde mich freunen wenn du mir dabei noch Helfen könntest.
Grüße
Achim
Antwort 4 von Hajo_Zi vom 21.12.2020, 21:21 Options
Hallo Achim,
vielleicht wird der benutzte Bereich falsch festgestellt.
Sub spalte_einb4()
Dim intSpalte As Integer
ActiveSheet.Unprotect Password:="test"
Application.ScreenUpdating = False
For intSpalte = 1 To ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
Columns(intSpalte).EntireColumn.Hidden = Cells(100, intSpalte) = 1
Next
Application.DisplayAlerts = False
ActiveSheet.Protect Password:="test"
End Sub
Gruß Hajo
Antwort 5 von speedy71 vom 21.12.2020, 21:30 Options
Hallo Hajo,
Danke für die schnelle Antwort, jetzt funktioniert das ganze.
Sag mal du sitzt auch den ganzen Tag vor den Rechner, oder?
Grüße und einen schönen Abend
Achim