VBA Userform, merken von Auswahl. Wie geht das?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wie schließt du denn die Form?

Wenn du Me.Hide verwendest, sollten eigentlich die Einstellungen beibehalten werden.

Woher ich das weiß:Berufserfahrung – Programmierer
Garfield0001  07.03.2016, 12:23

hide heißt ausblenden und nicht schließen :-)

0
Suboptimierer  07.03.2016, 12:24
@Garfield0001

Richtig. M. M. n. könnte das das Problem des Fragestellers lösen.

Es sein denn, die Einstellungen sollen sogar noch beim Schließen der Arbeitsmappe erhalten bleiben.
Dann würde ich mir ein verstecktes Sheet zur Abspeicherung von Einstellungen erstellen.

1
MPCKhome 
Fragesteller
 21.03.2016, 17:38

Sorry für die Späte antwor (:
Hide ist sogar noch besser. 
Das merken habe ich wie folgt gemacht (schreibe ich das andere zum absoluten Ziel kommen)

Ich wollte das selbst nach dem speichern die auswahl drin bleibt. also habe ich hide zum verstecken genommen und zusätzlic auf einer anderen Tabelle ein Raster angelegt.
Dort steht:
Combobox2
Combobox3 
usw darunter steht dann anfangs immer eine 0 
Im code habe ich geschrieben bei initialize das die combobox vorauswahl = der Zahl ist
Also 
With me.combobox2.selected(range("AC5").value)

Damit später diese Zahl in AC5 geändert wird habe ich bei 

Sub Combobox2.change
geschrieben
Range("AC5")=combobox2.selection

1

ja mehrere möglichkeiten.  über ereignissteuerung die daten in die registrierungsdatenbank schreiben,  die daten in eine extra INI Datei schreiben auf der Festplatte oder wenn es nur während der einen excel-sitzung benötigt wird in globale variable speichern.  Sobald das Form geöffnet wird (wieder ereignisgesteuert) auselesen der alten daten, sofern welche gefunden werden.

MPCKhome 
Fragesteller
 07.03.2016, 11:02

hört sich schon mal gut an.
Könntest du eine Variante näher erläutern?
Am besten wäre es wenn die Daten in keiner neuen Datei gespeichert werden sondern direkt in der Excel-Datei

Danke schon mal

0

Also ICH würde ein Sheet erstellen, in dem ich die Werte speichern kann und das dann mit:
Sheets("Tabelle").Visible = xlVeryHidden
vor Zugriff außerhalb von VBA sichern.
Beim Öffnen der Arbeitsmappe dann wieder einlesen.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)

Pragmatisch: Einfach mit VBA in eine Zelle schreiben, da wäre es auch nach dem Schließen der Exceltabelle wieder herstellbar, ansonsten globale Variable: Außerhalb der Sub/Function die Variable definieren mit dem Schlüssel public, also

public xyz as string o.ä.