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

Userform Textbox per schleife ansprechen

Forumthread: Userform Textbox per schleife ansprechen

Userform Textbox per schleife ansprechen
Asterix
Hi @all,
ich versuche seit Tagen ein Problem zu lösen das ich bis jetzt noch nicht geschafft habe, ich hoffe ihr könnt mir weiter helfen.
Also das Problem ist folgendes, ich hab eine Userform erstellt mit ca 10 Textboxen, nun will ich diese Werte von den Textboxen in eine Tabelle mit deinem Button speichern, dies soll dazu dienen das ich beim nächsten aufruf der Userform die werte automatisch reinschreibe. Hier das was ich bis jetzt gemacht habe.
Private Sub CommandButton5_Click() Range("dd" & 10).Select ActiveCell.Value = TextBox10.Value Range("dd" & 11).Select ActiveCell.Value = TextBox11.Value Range("dd" & 12).Select ActiveCell.Value = TextBox12.Value Range("dd" & 13).Select ActiveCell.Value = TextBox13.Value Range("dd" & 14).Select ActiveCell.Value = TextBox14.Value Range("dd" & 15).Select ActiveCell.Value = TextBox15.Value Range("dd" & 16).Select ActiveCell.Value = TextBox16.Value Range("dd" & 17).Select ActiveCell.Value = TextBox17.Value Range("dd" & 18).Select ActiveCell.Value = TextBox18.Value Range("dd" & 19).Select ActiveCell.Value = TextBox19.Value Range("dd" & 20).Select ActiveCell.Value = TextBox20.Value Range("dd" & 21).Select ActiveCell.Value = TextBox21.Value End Sub
Schön und gut das Funktioniert so aber das ist nur eine Notlösung in meinen augen, ich möchte den Langen Quelltext nur mit einer schleife lösen wie z.B. mit
For TB = 1 To 10
Range("CD" & TB).Select
ActiveCell.Value = Me.OLEObjects("Textbox" & TB).Object.Value
Next TB
Nur meldet er bei mir "Fehler beim Kompelieren Methode oder Datenobjekt nicht gefunden"
Danke im voraus für eure Antworten
MfG
Asterix
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Userform Textbox per schleife ansprechen
Josef
Hallo Asterix! (hier sind realnames üblich!)
Versuch's so!

Private Sub CommandButton5_Click()
Dim intC As Integer
For intC = 10 To 21
Cells(intC, "DD") = Me.Controls("TextBox" & intC).Value
Next
End Sub

Gruß Sepp
Anzeige
AW: Userform Textbox per schleife ansprechen
Asterix
Hi Sepp,
es funktioniert, danke dir :-)
Bin neu hier, deswegen Asterix, aber ab jetzt Ayhan
nochmals vielen Dank
noch ein schönes WE
Grüße
Ayhan
Danke für die Rückmeldung! o.T.
Josef
Gruß Sepp
Noch eine Frage
Ayhan
Wie müsste ich dieses Makro ergänzen damit ich die gespeicherten Werte von vorhin wieder in die Userform bekomme. Ich hab vorher dieses benutzt:

Sub UserFormAnzeigen()
With UserForm1
.TextBox1.Value = 3
.TextBox2.Value = 16
.TextBox3.Value = 19
.TextBox4.Value = 200
.TextBox5.Value = 30
.TextBox6.Value = 5
.TextBox7.Value = "0,8"
End With
UserForm1.Show
End Sub

jetzt möchte ich die Schleife von vorhin hier einfügen
Danke im Voraus
Ayhan
Anzeige
AW: Noch eine Frage
Josef
Hallo Ayhan!
Wenn es sich um die selben Textboxen wie vorhin handelt,
dann so.

Sub UserFormAnzeigen()
Dim intC As Integer
With UserForm1
For intC = 10 To 21
.Controls("TextBox" & intC).Value = Cells(intC, "DD")
Next
End With
UserForm1.Show
End Sub

Gruß Sepp
Anzeige
Danke
25.04.2004 15:47:59
Ayhan
Danke funktioniert auch einwandfrei.
ist echt super von die
schönen Tag noch
Gruß Ayhan
;
Anzeige
Anzeige

Infobox / Tutorial

Userform Textboxen mit VBA ansprechen und speichern


Schritt-für-Schritt-Anleitung

Um die Werte von Textboxen in einer Userform mit VBA zu speichern und später wieder abzurufen, kannst du folgende Schritte befolgen:

  1. Userform erstellen: Stelle sicher, dass deine Userform mindestens 10 Textboxen besitzt.

  2. Speicherbutton programmieren: Füge einen Button hinzu, um die Werte der Textboxen in eine Excel-Tabelle zu speichern. Verwende den folgenden VBA-Code:

    Private Sub CommandButton5_Click()
       Dim intC As Integer
       For intC = 10 To 21
           Cells(intC, "DD").Value = Me.Controls("TextBox" & intC).Value
       Next intC
    End Sub
  3. Userform anzeigen und Werte laden: Um die gespeicherten Werte in die Textboxen zurückzuladen, kannst du diesen Code verwenden:

    Sub UserFormAnzeigen()
       Dim intC As Integer
       With UserForm1
           For intC = 10 To 21
               .Controls("TextBox" & intC).Value = Cells(intC, "DD")
           Next intC
       End With
       UserForm1.Show
    End Sub

Häufige Fehler und Lösungen

  • Fehler: "Methode oder Datenobjekt nicht gefunden"
    Dieser Fehler tritt auf, wenn du versuchst, auf eine nicht vorhandene Textbox zuzugreifen. Stelle sicher, dass die Namen der Textboxen korrekt sind und dass du die richtige Anzahl von Textboxen in der Schleife verwendest.

  • Fehler beim Speichern der Werte
    Überprüfe, ob die Zellen, in die du die Werte speichern möchtest, korrekt referenziert werden. Achte darauf, dass die Spalte "DD" existiert und dass keine Zellen gesperrt oder geschützt sind.


Alternative Methoden

Eine andere Methode, um die Werte von Textboxen zu speichern, ist die Verwendung eines Arrays. Hier ist ein Beispiel:

Private Sub CommandButton5_Click()
    Dim textboxValues(10 To 21) As Variant
    Dim intC As Integer
    For intC = 10 To 21
        textboxValues(intC) = Me.Controls("TextBox" & intC).Value
        Cells(intC, "DD").Value = textboxValues(intC)
    Next intC
End Sub

Praktische Beispiele

Hier sind einige konkrete Beispiele, wie du die Textboxen in einer Userform verwenden kannst:

  • Speichern von Benutzerdaten: Du kannst die Textboxen verwenden, um Informationen wie Namen, Adressen oder Kontaktinformationen zu speichern.

  • Auswertung von Eingaben: Verwende die Textboxen, um Berechnungen durchzuführen, indem du die eingegebenen Werte speicherst und verarbeitest.


Tipps für Profis

  • VBA Select Textbox: Verwende die Methode .SetFocus, um eine spezifische Textbox auszuwählen, wenn die Userform geöffnet wird:

    Private Sub UserForm_Initialize()
       TextBox10.SetFocus
    End Sub
  • Validierung der Eingaben: Implementiere einfache Validierungslogik, um sicherzustellen, dass die Eingaben in den Textboxen den erwarteten Typen entsprechen (z.B. Zahlen, Text).


FAQ: Häufige Fragen

1. Wie kann ich die Textboxen dynamisch anpassen?
Du kannst die Eigenschaften der Textboxen zur Laufzeit ändern, indem du deren .Width, .Height oder .Visible-Eigenschaften anpasst.

2. Kann ich die Textboxen vor dem Speichern validieren?
Ja, du kannst vor dem Speichern der Werte in die Tabelle eine Validierung durchführen, um sicherzustellen, dass die Eingaben korrekt sind. Verwende dazu einfache If-Bedingungen oder MsgBoxen zur Benutzerrückmeldung.

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