ich habe ein kleines Problem, bei dem ich bisher nicht den richtigen Lösungsansatz finde.
Ich habe für 3 verschiedene Geschäftsjahre 3 Tabellenblätter, die jeweils rund 200 Spalten
beinhalten. Da einige Spalten nicht für alle Benutzer, die diese Blätter zur Eingabe von Plan-
zahlen nutzen, relevant sind, soll man sich über Checkboxen in einer Userform die Spalten
wählen können, die angezeigt werden sollen.
Häkchen gesetzt = Spalten werden eingeblendet,
kein Häkchen = Spalten werden ausgeblendet.
Auf allen 3 Tabs ist ein Button, um die Userfom aufzurufen (ich nur nutze nur eine Userform
für alle Blätter).
Der Code hinter dem Button steht in einem Modul:
Sub start_selection()
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
selection.Show
End Sub
Hinter der Userform steht das Initialize Ereignis wie folgt:
Sub UserForm_Initialize()
If Columns("a:b").EntireColumn.Hidden = False Then CheckBox1.Value = True Else CheckBox1.Value = False
If Columns("c:c").EntireColumn.Hidden = False Then CheckBox2.Value = True Else CheckBox2.Value = False
'If Columns("d:d").EntireColumn.Hidden = False Then CheckBox3.Value = True Else CheckBox3.Value = False
If Columns("e:e").EntireColumn.Hidden = False Then CheckBox5.Value = True Else CheckBox5.Value = False
. . . . .
End Sub
Anschließend habe ich nach der "Initialize-Sub" die Ereignisse
für die einzelnen Checkboxen festgelegt:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then Columns("a:b").EntireColumn.Hidden = False Else Columns("a:b"). _
EntireColumn.Hidden = True Range("C6").Select
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then Columns("c:c").EntireColumn.Hidden = False Else Columns("c:c"). _
EntireColumn.Hidden = True
Range("C6").Select
End Sub
. . .
Alles funktioniert soweit wunderbar! Nur, wenn ich jetzt auf eine andere der 3 Tabellen wechsel,
und die Userform über den Button aufrufe, dann werden immer noch die Checkboxen markiert,
die in der vorherigen Tabelle markiert wurden.
Offensichtlich wird also das Initialize-Ereignis nicht durchgeführt.
Wenn ich nun die Datei schließe und erneut öffne, dann werden die Checkboxen richtig markiert
Was mache ich falsch? Weiß die Userfom nicht, welche Tabelle gerade aktiv ist?
Danke, Gruß,
Ramon