Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Spalten per Makro einblenden





Frage

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 1 von Hajo_Zi

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

Hallo Hajo,

Danke für die schnelle Hilfe.



Grüße und einen schönen Sonntag
Achim

Antwort 3 von speedy71

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

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

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