4.8k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo!

Ich habe ein Userform mit mehreren ToggleButtons. Mit diesen Buttons blende ich Spalten in einer Tabelle ein und aus. Ich möchte, dass die Buttons, wenn ich das Formular schließe beim nächsten Öffnen wieder in der gleichen Position angezeigt werden.

Momentan werden alle Togglebuttons beim schließen und wieder öffnen zurück gesetzt.

Ich bin sicher, dass ihr mir da weiter helfen könnt!

Danke!

18 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
dazu mußt Du den Zustand in Tabelle speichern und bei Aktivate auslesen.

Gruß hajo
0 Punkte
Beantwortet von
Danke Hajo!

Ich habe mir noch was überlegt, ohne Zwischenspeicherung. Bei mir funktionierts nicht, aber vielleicht kann jemand meinen Code korrigieren, damit er funktioniert.

Kann ich den Zustand der Togglebutton auch davon abhängig machen, ob ich bestimmte Spalten ausgeblendet habe?

Ich blende die Spalten wie folgt aus und wieder ein:

Private Sub ToggleButton2008_Click()
Columns("R:U").EntireColumn.Hidden = Not Columns("R:U").EntireColumn.Hidden
End Sub


Kann ich das nicht irgendwie umdrehen. Etwa so vielleicht:

Private Sub UserForm_Activate()

If Columns("R:U").EntireColumn.Hidden = True Then
ToggleButton2008.Value = False

Else
ToggleButton2008.Value = True

end if

end sub


Grüßle!
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
ToggleButton2008.Value = Columns("R:U").EntireColumn.Hidden oder noch ein Not davor

Gruß Hajo
0 Punkte
Beantwortet von
Hallo Hajo,

das verstehe ich jetzt leider nicht. Wo soll ich meinen Code ändern/ergänzen?

Grüßle!
0 Punkte
Beantwortet von
Hallo nochmal!

Das mit dem "umdrehen" war nicht wörtlich gemeint. Ich dachte, wenn man die Spalten abhängig von dem ToggleButton ein und ausblenden kann, müsste es auch möglich sein den ToggleButton in Abhängigkeit von den ein- oder ausgeblendeten Spalten auf 1 oder 0 setzen.

Ich weiß nur nicht, wie man das als Code schreibt.

LG
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Inka,

habe den Code aus AW2 getestet und keine Probleme festgestellt, sowohl wenn ich die UserForm öffne und schließe und auch wenn ich die Datei mit Speichern schließe und wieder öffne. Es war jeweils immer die letzte Einstellung zu sehen.

Allerdings habe ich für die ToggleButtons eine eigene UserForm verwendet.

Gruß

Paul1

Excel 2003
0 Punkte
Beantwortet von
Hallo,

bei mir funktionierts nicht. Ich habe die Buttons auch in einem extra UserForm. Wenn ich das Formular wieder öffne vertauscht sich die Funktion der Buttons. Das heiß Spalte ist ausgeblendet und der Button steht auf eingeblendet.

Ich lad meine Datei hoch so bald ich zu Hause bin und die Tabelleninhalte gelöscht habe.

Das ist glaube ich besser als alle Versuche das Problem zu erklären.

Grüßle!
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Inka,

Ich glaube da habe ich Dich falsch verstanden, es sollte sich die Beschriftung des Button ändern d.h. wenn die Spalten ausgeblendet sind, soll das auch am Button stehen bleiben.

Dass die Spalten auch bei wieder öffnen der Datei so sind (entweder eingeblendet oder ausgeblendet) das funktioniert schon, ich hatte geglaubt es ginge nur darum.

Habe schon verschiedene Versuche unternommen, doch wie Du bereits erwähnt hast geht die Einstellung (Beschriftung) immer wieder zurück, komisch.

Ich kann nur versuchen aus dem Web Anregungen zu finden, aber versprechen kann ich nichts, da meine VBA-Kenntnisse nicht ausreichend sind.

Der letzte Stand meiner Bemühungen:

Beispiel

Gruß

Paul1

Excel 2003
0 Punkte
Beantwortet von
Hallo Paul,

bei mir siehts genau so aus wie bei deinem Beispiel. Der Status der Buttons stimmt nicht mit den ein- und ausgeblendeten Spaten überein.

Vielleicht weiß ja noch jemand Rat und kann anhand deines Beispiels eine Lösung finden.

Grüße
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Inka,

Es geht mit einem ToggleButton jedoch ohne UserForm, wichtig ist, dass unter:

>Steuerelement formatieren
>Eigenschaften
>Objektpositionierung
>Von Zellposition und -größe unabhängig >markieren

eingestellt ist
Ansonsten springt der Button wie verrückt hin und her.

Ein Beispiel zum nachvollziehen:

ToggleButton

Wenn die Datei geschlossen und wieder geöffnet wird geht der Button mit den eingeblendeten oder ausgeblendeten Spalten konform.

Welche Spalten die jeweiligen Button ein- oder ausblenden sollen, wäre im Text des VBA-Codes noch anzupassen.

Gruß

Paul1
...