Tipps & Tricks 16.03.2003, 14:00 Uhr

Spalten Ein-/Ausblenden über Schaltfläche

Ich möchte über eine Schaltfläche per Klick bestimmte Spalten ein und ausblenden. Könnt Ihr mir ein Makro schreiben, dass ich dieser Schaltfläche zuweisen könnte?
Angenommen Sie möchten in folgender Liste nur die Namen und das Geburtsdatum anzeigen, dann müssten Sie die Spalten C,D+F ausblenden.
Um die Spalten auszublenden, benötigen Sie folgendes Makro:
Und natürlich brauchen Sie ein zweites Makro, um die Spalten wieder einzublenden.
Damit Sie nun die Spalten sowohl aus- als auch wieder einblenden können, müssten Sie mit 2 Schaltflächen arbeiten, da einer einzelnen Schaltfläche nicht 2 Makros zugewiesen werden können. Ausser, Sie verwenden eine "Umschaltfläche". Diese verhält sich, wenn entsprechend programmiert, wie ein Schalter. Sie kann genau 2 Zustände annehmen, wie z.B. ein Lichtschalter, der entweder eingeschaltet oder ausgeschaltet ist.
Verwenden Sie also am Besten eine Umschaltfläche. Ziehen Sie die Umschaltfläche aus der Toolbox an die entsprechende Stelle in der Tabelle und führen Sie dann einen Doppelklick auf die Umschaltfläche aus, um das Grundgerüst zu erstellen und in den Visual Basic Editor zu gelangen. Dort ergänzen Sie den Code um die fehlenden Zeilen:
Wenn Sie nun in der Tabelle auf den Schalter klicken, wird das Makro "SpaltenAusblenden" ausgeführt und die Beschriftung des Schalters entsprechend geändert. Ausserdem wird der Schalter mit hellerer Hintergrundfarbe als "aktiviert" angezeigt
Ein erneuter Klick führt das Makro "SpaltenEinblenden" aus.
------------------------------------
Makros zum Kopieren
Unbedingt alle "" durch Anführungszeichen ersetzen
------------------------------------
Sub SpaltenAusblenden()
Sheets("Liste").Activate
Columns("C:D").EntireColumn.Hidden = True
Columns("F").EntireColumn.Hidden = True
End Sub
------------------------------------
Sub SpaltenEinblenden()
Sheets("Liste").Activate
Columns("C:D").EntireColumn.Hidden = False
Columns("F").EntireColumn.Hidden = False
End Sub
------------------------------------
Private Sub ToggleButton1_Click()
Dim TB As ToggleButton
Set TB = ToggleButton1
If TB.Value = True Then
TB.Caption = "Spalten einblenden"
Call SpaltenAusblenden
Else
TB.Caption = "Spalten ausblenden"
Call SpaltenEinblenden
End If
End Sub
------------------------------------


Kommentare
Es sind keine Kommentare vorhanden.