Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Inhalt einer Textbox speichern?

Inhalt einer Textbox speichern?
25.04.2016 08:36:43
Jones
Guten morgen zusammen,
ich suche schon seit einiger Zeit nach einer Lösung, finde aber nicht das passende.
Wollte fragen, ob es möglich ist, den Inhalt einer TextBox zu speichern. Jedoch soll nicht der Inhalt in die Tabelle übertragen oder als .txt gespeichert werden, sondern in der TextBox selbst. Sprich das man beim erneuten öffnen des Formulars, was nur mit einer TextBox und einem commandbutton versehen ist, die davor eingetragenen Inhalte in der TextBox sieht.
Habe noch garkeinen Lösungsansatz, da ich nur Foreneinträge über das speichern als .txt gefunden habe.
Danke schon mal vorab.
MfG

Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt einer Textbox speichern?
25.04.2016 09:25:32
EtoPHG
Hallo Jones,
1. Ein ActiveX-Steuerelement "TextBox" kann sich entweder auf einem Worksheet oder in einer Userform befinden. Das macht einen Unterschied. Wäre sie auf einem Tabelleblatt, wird der Inhalt mit dem Speichern der Mappe persistiert.
2. In einer Userform, wird eine TextBox mit dem Text geladen, der zur Design-Zeit eingefügt wurde. Sie ist per Default leer (kann aber durch den Designer festgelegt werden). Ändert der Inhalt zur Ausführungszeit, kann der Inhalt nicht persistiert werden.
3. Anforderungen wie: "Inhalt nicht in die Tabelle übertragen oder als .txt speichern" kann ich leider nicht nachvollziehen. Wenn der Inhalt gespeichert werden soll, muss es wohl irgendwo in der Mappe oder extern geschehen. Neben den beiden (von dir) ausgeschlossenen Möglichkeiten, bliebe noch eine CustomDocumentProperty, aber ich nehme an, auch das wirst du aus unerfindlichen Gründen ablehnen.
Gruess Hansueli

Anzeige
AW: Inhalt einer Textbox speichern?
25.04.2016 09:50:07
Jones
Danke schon mal für die Antwort.
Du hast die Frage damit gut beantworten können.
Ich möchte dann wohl auf die Variante des Speicherns auf einem Tabellenblatt nehmen.
Wie lautet nun der Befehel, wenn ich z.B. 5 TextBoxen ausfülle, die sich in einer UserForm befinden.
TextBox1 soll zum Beispiel in Tabelle1 ("H12") und TextBox2 in ("H13") angezeigt werden.

Anzeige
AW: Inhalt einer Textbox speichern?
25.04.2016 11:31:42
Werner
Hallo Jones,
grundsätzlich mal so:
Sheets("Tabelle1").Range("H12") = Me.TextBox2.Value
Für die anderen Textboxen dann analog.
Stellt sich nur die Frage, wann sollen die Daten in die Tabelle übertragen werden? Bei Klick auf einen Button, dann gehört der Code ins entsprechende Klick-Ereignis des Button. Oder beim Schließen der Userform über das Kreuz oben rechts dann ins Query Close der Userform, oder beim Schließen der Userform über einen Schließen Button, dann halt ins Klick Ereignis des Schließen Buttons.
Gruß Werner

Anzeige
AW: Inhalt einer Textbox speichern?
25.04.2016 11:58:30
Daniel
Hi
am einfachsten, in dem du die TextBox mit einer Zelle verlinkst.
Das machst du, indem du in die Eigenschaft LinkedCell (Tabellenblatt-TextBox) bzw ControlSource (Userformtextbox) die Zelladresse der verknüpften Zelle einträgst, dh für Textbox1: Tabelle1!H12
der Textboxinhalt wird dann automatisch in die Zelle geschrieben, und bleibt so immer erhalten.
Gruß Daniel

Anzeige
AW: THX
25.04.2016 12:02:17
Werner
Hallo Daniel,
da kann ich nur sagen: Warum einfach, wenn es auch kompliziert geht. ;-D
An die Linked Cell hab ich gar nicht gedacht.
Gruß Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Inhalt einer Textbox in Excel speichern


Schritt-für-Schritt-Anleitung

Um den Inhalt einer TextBox in Excel zu speichern, kannst du die folgenden Schritte befolgen:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Füge eine UserForm hinzu: Klicke mit der rechten Maustaste auf dein Projekt im Projekt-Explorer, wähle Einfügen und dann UserForm.

  3. Füge TextBoxen hinzu: Ziehe TextBoxen aus der Toolbox auf die UserForm.

  4. Füge einen CommandButton hinzu: Ziehe einen CommandButton auf die UserForm.

  5. Füge den folgenden Code hinzu, um den Inhalt beim Klicken auf den Button zu speichern:

    Private Sub CommandButton1_Click()
       Sheets("Tabelle1").Range("H12") = Me.TextBox1.Value
       Sheets("Tabelle1").Range("H13") = Me.TextBox2.Value
    End Sub
  6. Schließe den VBA-Editor: Speichere deine Änderungen und schließe den Editor.

  7. Teste die UserForm: Fülle die TextBoxen aus und klicke auf den Button, um die Daten in die Tabelle zu übertragen.


Häufige Fehler und Lösungen

  • Fehler: "Objekt nicht gefunden"
    Lösung: Stelle sicher, dass du den richtigen Namen für das Arbeitsblatt verwendest. Überprüfe, ob "Tabelle1" existiert.

  • Fehler: TextBox bleibt leer
    Lösung: Überprüfe, ob du den Code im richtigen Ereignis (z.B. Click des Buttons) platziert hast.

  • Fehler: Daten werden nicht gespeichert
    Lösung: Achte darauf, dass du die UserForm schließt oder die TextBoxen mit den richtigen Zellen verlinkst.


Alternative Methoden

Eine einfache Möglichkeit, den Inhalt einer TextBox zu speichern, besteht darin, die TextBox mit einer Zelle zu verlinken. Dies kannst du so machen:

  1. Wähle die TextBox aus.
  2. Gehe zu den Eigenschaften: Im Eigenschaftenfenster findest du die ControlSource (für UserForms) oder LinkedCell (für ActiveX-Steuerelemente).
  3. Trage die Zelladresse ein: Für TextBox1 wäre das Tabelle1!H12.

Mit dieser Methode wird der Inhalt automatisch in die verknüpfte Zelle geschrieben und bleibt somit erhalten, wenn du die Datei speicherst.


Praktische Beispiele

Hier sind einige Beispiele für das Speichern von TextBox-Inhalten in Excel:

  • Beispiel 1: Speichern von mehreren TextBoxen

    Private Sub CommandButton1_Click()
       Sheets("Tabelle1").Range("H12") = Me.TextBox1.Value
       Sheets("Tabelle1").Range("H13") = Me.TextBox2.Value
       Sheets("Tabelle1").Range("H14") = Me.TextBox3.Value
    End Sub
  • Beispiel 2: Speichern beim Schließen der UserForm

    Private Sub UserForm_QueryClose(Cancel As Integer)
       Sheets("Tabelle1").Range("H12") = Me.TextBox1.Value
       Sheets("Tabelle1").Range("H13") = Me.TextBox2.Value
    End Sub

Tipps für Profis

  • Verwende Fehlerbehandlung: Füge On Error Resume Next hinzu, um unerwartete Fehler zu vermeiden.
  • Nutze Variablen: Erstelle Variablen für die Zelladressen, um den Code übersichtlicher zu gestalten.
  • Dokumentiere deinen Code: Verwende Kommentare, um den Code verständlicher zu machen für andere Benutzer oder für dich selbst in der Zukunft.

FAQ: Häufige Fragen

1. Wie kann ich den Inhalt der TextBox beim Öffnen der UserForm automatisch laden?
Du kannst den Inhalt beim Initialisieren der UserForm laden, indem du den folgenden Code in das UserForm_Initialize-Ereignis einfügst:

Private Sub UserForm_Initialize()
    Me.TextBox1.Value = Sheets("Tabelle1").Range("H12").Value
    Me.TextBox2.Value = Sheets("Tabelle1").Range("H13").Value
End Sub

2. Kann ich TextBoxen auch in einem Arbeitsblatt verwenden?
Ja, du kannst ActiveX-TextBoxen direkt auf einem Arbeitsblatt verwenden und die LinkedCell-Eigenschaft nutzen, um den Inhalt zu speichern.

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