Werte merken

hallo zusammen,

wie bekomm ich es in Excel-VBA hin, dass sich das Programm die in einer Userform gemachten Angaben für den nächsten Programmstart merkt und nicht von den standardeinstellungen überschrieben werden.

Ich möchte in meinem Fall eine Userform mit dem Namen „Einstellungen“ entwerfen, indem der Benutzer Kontrollkästchen aktivieren kann, bzw Angaben in Textfeldern machen kann. Diese Werte sollten mit dem Knopfdruck „Übernehmen“ in Zukunft gelten.

vielen dank

Gruss Sven

hallo sven,

also hierfür gibts verschiedene überlegungen und möglichkeiten…

entweder du schreibst alles in sone art „ini“-file, indem du deine programmeinstellungen speicherst…

oder, die „bessere“ variante des ini-files- du schreibst den ganzen mist in ein xml-file

oooder
du speichert die einstellungen in der registry ab

oooooder du speicherst deine einstellungen in einer datenbank

die entscheidung bleibt dir-- sollte dein vba-programm eh schon mitner datenbank arbeiten, würde ICH alles inner einstellungs-tabelle speichern

gruß

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Gibt es denn keine standard funktion in VBA die das lösen kann??

Hallo Sven,

da ein Formular nur im Speicher erstellt wird, und der üblicherweise beim Beenden freigegeben wird, musst du die Einstellungen natürlich irgendwo auf die Festplatte schreiben.
Da du hier von Excel-VBA redest, warum schreibst du die Einstellungen nicht einfach in ein Tabellenblatt (z.B. ein verstecktes Blatt in der entsrechenden Arbeitsmappe) und liest sie dann beim Starten des Formulars erneut aus?

Gruß
Daniel

Hallo Daniel,

das ist mir grundsätzlich schon klar dass (die meisten) Einstellungen im Formular beim Entladen aus dem Speicher verloren gehn. Aber man kann doch generell standardwerte für jedes steuerelement setzen (unter Eigenschaften/value). ich kann zb festlegen, ob beim start dieses formulars ein kontrollkästchen standardmässig ein häkchen hat oder nicht. genauso kann ich einen standardwert in ein textfeld vorgeben. Diese Vorgaben mache ich allerdings in der Entwicklungsumgebung. Wenn ich doch das Setzen der Standardwerte während der Laufzeit (zb durch drücken einer „Übernehmen-Taste“ im Formular) durchführen könnte, würde das Formular auch beim Schliessen diese Werte beibehalten (oder nicht?)
Somit suche ich letztendlich nur einen wahrscheinlich simplen Code der mir während der Laufzeit die Standardwerte für die Steuerelemente neu setzt.

Gruss Sven

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Sven,
meiner Meinung nach gehört so etwas in die registry, das ist die sauberste Lösung :smile:

hallo salvo,

du hättest gerne eine standardfunktion, der du sagen kannst, speicher mir den wert so ab, das er beim nächsten programmstart wieder vorhanden ist??

SOWAS GIBTS NICHT! :smile:

du kannst dich jetzt für eins der genannten möglichkeiten entscheiden- dann sagtst du bescheid, und wir helfen dir, diese möglichkeit zu realisieren.

wobei ich die idee mit dem ausgeblendeten excel-sheet sehr gut finde

es gibt da auch keine „das ist der beste weg“-möglichkeit

viele grüße

rasta

Gibt es denn keine standard funktion in VBA die das lösen
kann??