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

Textfeld auslesen & Zurückschreiben

Forumthread: Textfeld auslesen & Zurückschreiben

Textfeld auslesen & Zurückschreiben
17.11.2007 20:40:00
Heinz
Hallo Leute
Habe im unteren Code der mir bei Doppelcklick im Textfeld der Userform den Wert der Zelle anzeigt wo ich gerade den Doppelklick gemacht habe.
Ich möchte aber mehrere TextBoxen erstellen. So das mir zum Beispiel,bei Doppelklick auf A12
Bei Textbox1 den Wert der Zelle A12 in Textbox2 den Wert von B12 usw. anzeigt.
Weiters sollte wenn ich in Textbox1 einen neuen Wert eingebe und auf eine Befehlsschaltfläche klicke,das dieser neue Wert in A12 eingetragen wird.
Also nach dem Prinzib zuerst Auslesen & bei Bedarf Zurückschreiben.
Könnte mir dazu bitte wer auf die Sprünge helfen ?
Gruß Heinz
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) With UserForm3 .TextBox1.ControlSource = Target.Address .Show End With Cancel = True End Sub


Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textfeld auslesen & Zurückschreiben
17.11.2007 20:49:38
Tino
Hallo,
eine Beispieldatei wäre gut, könnte man besser testen.
Gruss
Tino

AW: Textfeld auslesen & Zurückschreiben
17.11.2007 21:02:39
Heinz
Hallo wiederum an dich Tino
Du müsstest meine Tabelle glaube ich schon auswendig kennen.
Herzlichen Dank für Deine große Hilfe,die du bisher für mich schon geleistet hast.
Es geht darum das ich in der Stundenliste die normale Arbeitszeit über Formel in die Stundenliste eintrage.
Wenn jetzt aber Abweichungen durch Krank,Urlaub usw.. kommt könnte mann die über die Textboxen ändern.
Ich möchte das auf die Formeln und den Zellen nicht direkt zugegriffen wird.
Da werden plötzlich Formeln gelöscht usw.
Gruß Heinz
https://www.herber.de/bbs/user/47825.xls

Anzeige
AW: Textfeld auslesen & Zurückschreiben
17.11.2007 21:16:50
Tino
Hallo Heinz,
bin ziemlich vergesslich.
Nur in deiner Userform3, wo die Zellen entsprechend in Textboxen eingetragen werden sollen, brauchst aber noch einige Textboxen?
Welche Zellen benötigst du für die Bearbeitung!
Diese?
01.08.2004

 ABCDEF
4Datum Kommt     Pause
 von
    Pause
 bis
Geht


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruss
Tino

Anzeige
AW: Textfeld auslesen & Zurückschreiben
17.11.2007 21:24:39
Heinz
Hallo Tino
Ich bräuchte bitte A - B - C - D - E - F - L
Wollte zuerst nachfragen und dann die anderen TextBoxen bauen.
Wäre es unverschämt dich zu bitten damit du auch gleich das richtige Format festlegst .
Zb. Zelle A = TT.MM.JJJJ B=TTT. so wie in Tabelle formatiert in Spalte L Text mit ca. 30 bis 40 Zeichen
Gruß Heinz

Anzeige
AW: Zusatz Frage
17.11.2007 21:29:10
Heinz
Hallo Tino
Wäre es möglich nur wenn der Doppelklick auf Zelle A ausgeführt wird,das die UF aufgerufen wird.
Danke Heinz

AW: Zusatz Frage
17.11.2007 22:15:22
Tino
Hallo,
so etwas habe ich zusammengebaut, auf Design in der Userform3 habe ich jetzt nicht so geachtet (machst besser nach deinem Geschmack).
https://www.herber.de/bbs/user/47827.xls
Gruss
Tino

Anzeige
AW: Zusatz Frage
18.11.2007 05:37:00
Heinz
Hallo Tino
Du bist echt der grösste !!! Echt geil.
Danke für deine Großartige Hilfe.
Gruß Heinz

AW: Zusatz Frage
17.11.2007 22:16:00
Matthias
Hallo Heinz

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1")) Is Nothing Then UserForm3.Show
End Sub


Userbild

Anzeige
AW: Zusatz Frage
18.11.2007 05:37:53
Heinz
Hallo Matthias
Genau so.
Recht herzlichen Dank !!!
Gruß Heinz
;
Anzeige
Anzeige

Infobox / Tutorial

Textfeld auslesen und zurückschreiben in Excel VBA


Schritt-für-Schritt-Anleitung

Um in Excel VBA ein Textfeld auszulesen und die Werte zurückzuschreiben, kannst Du folgende Schritte ausführen:

  1. Userform erstellen: Erstelle eine Userform mit mehreren TextBoxen (z.B. TextBox1, TextBox2, ...).

  2. VBA-Code hinzufügen: Füge den folgenden VBA-Code in das entsprechende Modul ein, um beim Doppelklick auf eine Zelle die Userform anzuzeigen:

    Option Explicit
    
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
       If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
           UserForm3.TextBox1.ControlSource = Target.Address
           UserForm3.Show
           Cancel = True
       End If
    End Sub
  3. Werte auslesen: In der Userform kannst Du die Werte der Zellen in die TextBoxen eintragen, sobald die Userform geöffnet wird:

    Private Sub UserForm_Initialize()
       TextBox1.Value = Range("A" & ActiveCell.Row).Value
       TextBox2.Value = Range("B" & ActiveCell.Row).Value
       ' Füge weitere TextBoxen nach Bedarf hinzu
    End Sub
  4. Werte zurückschreiben: Füge einen Button hinzu, um die eingegebenen Werte zurück in die Zellen zu schreiben:

    Private Sub CommandButton1_Click()
       Range("A" & ActiveCell.Row).Value = TextBox1.Value
       Range("B" & ActiveCell.Row).Value = TextBox2.Value
       ' Füge weitere TextBoxen nach Bedarf hinzu
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Userform öffnet sich nicht
    Stelle sicher, dass die Zellen, auf die Du doppelklickst, im angegebenen Bereich (z.B. A1:A100) liegen.

  • Fehler: Keine Werte erscheinen in den TextBoxen
    Überprüfe, ob die ControlSource korrekt gesetzt ist und ob die UserForm_Initialize korrekt implementiert wurde.

  • Fehler: Eingaben werden nicht gespeichert
    Prüfe, ob der Code zum Zurückschreiben der Werte im Button-Click-Event korrekt ist und ob der Button richtig zugeordnet ist.


Alternative Methoden

Eine alternative Methode, um Werte aus Textfeldern auszulesen, ist die Verwendung von Excel-Formeln oder -Funktionen anstelle von VBA. Du kannst auch einfach ein Eingabefeld in einer Zelle nutzen und mit Formeln arbeiten, um die Werte dynamisch zu verknüpfen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du das vba textfeld auslesen kannst:

Angenommen, Du hast eine Userform mit den TextBoxen TextBox1 und TextBox2. Wenn Du in TextBox1 einen Wert eingibst und auf den Button klickst, wird dieser Wert in die Zelle A1 geschrieben und der Wert von B1 in TextBox2 angezeigt.

Private Sub CommandButton1_Click()
    Range("A1").Value = TextBox1.Value
    TextBox2.Value = Range("B1").Value
End Sub

Tipps für Profis

  • Vermeide die Verwendung von ControlSource, wenn Du die Werte direkt in TextBoxen eintragen möchtest. Verwende stattdessen die Value-Eigenschaft.

  • Achte darauf, die Userform ansprechend zu gestalten, damit sie benutzerfreundlich ist.

  • Wenn Du mehrere TextBoxen benötigst, kannst Du auch eine Schleife verwenden, um den Code zu vereinfachen.


FAQ: Häufige Fragen

1. Wie kann ich mehrere TextBoxen gleichzeitig füllen?
Du kannst eine Schleife verwenden, um die Werte in mehrere TextBoxen zu laden, indem Du die Adressen der Zellen in einem Array speicherst.

2. Was ist der Unterschied zwischen ControlSource und Value?
ControlSource bindet die TextBox direkt an eine Zelle, während Value es Dir ermöglicht, die Werte manuell zu setzen und zu lesen.

3. Kann ich die Userform nur bei einem Doppelklick auf eine bestimmte Zelle anzeigen?
Ja, passe den Code in Worksheet_BeforeDoubleClick an, um nur auf die gewünschten Zellen zu reagieren.

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