Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: UserForm Speichern

UserForm Speichern
Peter
Hallo Excel-Fans,
ich habe ein UserForm mit 15 Kontrollkästchen, mit deren Hilfe ich Spalten ein- und ausblende. Wenn ich das Arbeitsblatt schließe und speichere, habe ich auch die aktuellen Einstellungen gespeichert. Nach dem erneuten Öffnen des Arbeitsblattes und dem Laden des UserForms wird dieses aber wieder in seinem Urzustand dargestellt, d.h., nicht mit den letzten Einstellungen vor dem Speichern. Die Einstellung im UserForm korrespondiert also nicht mit der tatsächlichen Tabelleneinstellung.
Frage: Ist es möglich, die UserForm-Einstellung "einzufrieren", so dass nach dem Speichern und späteren Öffnen des Arbeitsblattes die letzte Einstellung dargestellt wird.
Danke für Eure Hilfe.
Gruß,
Peter F.
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: UserForm Speichern
25.08.2011 13:38:58
ransi
Hallo Peter
Du musst die Einstellung irgenwo speichern oder immer wieder neu einlesen.
Hiermal mit neu einlesen:
' **********************************************************************
' Modul: UserForm1 Typ: Userform
' **********************************************************************

Option Explicit

Private Sub UserForm_Activate()
    With Sheets("Tabelle1")
        CheckBox1.Value = .Columns(1).Hidden 'Spalte A
        CheckBox2.Value = .Columns(2).Hidden 'Spalte B
        CheckBox3.Value = .Columns(3).Hidden 'Spalte C
    End With
End Sub


ransi
Anzeige
UserForm richtig bestücken
25.08.2011 13:43:39
Erich
Hi Peter,
die Kontrollkästchen deiner UF sollten (bei Aufruf der UF) ausdrücken, welche Spalten ein- und welche ausgeblendet sind.
Das würde man in UserForm_Activate() oder UserForm_Initialize() erledigen.
Dann brauchst du die Einstellungen der Kontrollkästchen doch nicht noch mal separat zu speichern, oder?
Wenn du deine Mappe (als abgespeckte Beispielmappe, aber mit dem Code) hochlädst, können wir dich unterstützen.
Ohne Mappe wohl kaum.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: UserForm richtig bestücken
26.08.2011 11:21:37
Peter
Danke für Eure Beiträge. Das funktioniert zwar alles, aber es sieht doch ziemlich unprofessionell aus, wenn die UF erst wieder per Code an die aktuellen Arbeitsblattverhältnisse angepasst wird (15 Commandbuttons und 15 Labels). Das dauert !
Da komme ich mit den alten Steuerelementen besser klar.
Grüße,
Peter F.
Anzeige
;
Anzeige

Infobox / Tutorial

UserForm Einstellungen in Excel Speichern


Schritt-für-Schritt-Anleitung

Um die Einstellungen deiner UserForm in Excel zu speichern und beim nächsten Öffnen der Datei wiederherzustellen, kannst du die folgenden Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge den Code in die UserForm ein:

    • Wähle die UserForm aus, die du bearbeiten möchtest.
    • Füge den folgenden Code in das Code-Fenster der UserForm ein:
    Private Sub UserForm_Activate()
       With Sheets("Tabelle1")
           CheckBox1.Value = .Columns(1).Hidden ' Spalte A
           CheckBox2.Value = .Columns(2).Hidden ' Spalte B
           CheckBox3.Value = .Columns(3).Hidden ' Spalte C
       End With
    End Sub
  3. Schließe den VBA-Editor und speichere die Datei:

    • Stelle sicher, dass du die Datei im richtigen Format speicherst (z.B. als .xlsm, um Makros zu ermöglichen).
  4. Teste die UserForm:

    • Öffne die UserForm und überprüfe, ob die Kontrollkästchen den aktuellen Status der Spalten widerspiegeln.

Häufige Fehler und Lösungen

  • Fehler: Kontrollkästchen zeigen falsche Werte an.

    • Lösung: Stelle sicher, dass du den richtigen Arbeitsblattnamen im Code verwendest. Überprüfe auch, ob die Spalten tatsächlich ein- oder ausgeblendet sind.
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Überprüfe, ob die Makros in deinen Excel-Einstellungen aktiviert sind.

Alternative Methoden

Wenn du die UserForm-Einstellungen nicht über VBA speichern möchtest, kannst du auch folgende Methoden in Betracht ziehen:

  • Verwendung von Zellen zur Speicherung:

    • Speichere die Werte der Kontrollkästchen in bestimmten Zellen und lade sie beim Öffnen der UserForm.
    Private Sub UserForm_Initialize()
       CheckBox1.Value = Sheets("Einstellungen").Range("A1").Value
       CheckBox2.Value = Sheets("Einstellungen").Range("A2").Value
       CheckBox3.Value = Sheets("Einstellungen").Range("A3").Value
    End Sub
  • Speichern der Einstellungen in einer Textdatei:

    • Du kannst die Einstellungen auch in einer externen Textdatei speichern und beim Öffnen der UserForm wieder einlesen.

Praktische Beispiele

Angenommen, du hast eine UserForm mit mehreren Kontrollkästchen, um verschiedene Spalten ein- und auszublenden. Hier ist ein einfaches Beispiel für ein UserForm mit drei Kontrollkästchen:

  1. UserForm mit drei Kontrollkästchen:

    • CheckBox1 für Spalte A
    • CheckBox2 für Spalte B
    • CheckBox3 für Spalte C
  2. VBA-Code zur Steuerung:

    Private Sub CommandButton1_Click()
       Sheets("Tabelle1").Columns(1).Hidden = CheckBox1.Value
       Sheets("Tabelle1").Columns(2).Hidden = CheckBox2.Value
       Sheets("Tabelle1").Columns(3).Hidden = CheckBox3.Value
    End Sub

Tipps für Profis

  • Verwende benannte Bereiche: Anstatt feste Zellreferenzen zu verwenden, kannst du benannte Bereiche nutzen. Das erhöht die Lesbarkeit und Wartungsfreundlichkeit deines Codes.

  • Optimierung der Ladezeiten: Wenn du viele Kontrollkästchen hast, überlege, ob du die Anzahl der Abfragen in der UserForm_Activate-Routine reduzierst, um die Ladezeiten zu verbessern.


FAQ: Häufige Fragen

1. Wie speichere ich die UserForm-Einstellungen dauerhaft?
Du kannst die Einstellungen in Zellen, einer Datenbank oder einer Textdatei speichern und beim Öffnen der UserForm wieder einlesen.

2. Welche Excel-Version benötige ich für diese Funktionen?
Die beschriebenen Funktionen sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und neuer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige