ich möchte über eine UserForm mehrere Werte gleichzeitig in mehrere Textboxen eintragen. Soll heißen wenn ich aus einem Excelsheet, aus 10 Zeilen Werte kopiere möchte ich diese auf einmal in 10 Textbxen einfügen.
Hat damit jemand schon Erfahrung?
Private Sub TextboxM_Change()
Dim t As String
t = TextBoxM.Text
TextBox01.Text = Split(t, vbTab)(0) 'First Word
TextBox02.Text = Split(t, vbTab)(1)
TextBox03.Text = Split(t, vbTab)(2)
TextBox04.Text = Split(t, vbTab)(3)
TextBox05.Text = Split(t, vbTab)(4)
End Sub
Die werte werden alle in die obere textbox eingegeben und in die einzelnen Textboxen gesplittet.dim Zelle as Range
dim i as Long
for each Zelle in Selection
i = i + 1
Me.Controls("TextBox" & i).Text = Zelle.Text
Next
Gruß DanielUm mehrere Werte gleichzeitig in Textboxen einer UserForm in Excel einzufügen, kannst du folgenden VBA-Code verwenden. Dieser Code ermöglicht es dir, Werte per Copy-Paste in die Textboxen einzufügen.
Öffne die VBA-Umgebung: Drücke ALT + F11
in Excel.
Erstelle eine UserForm: Füge eine neue UserForm hinzu.
Füge Textboxen hinzu: Platziere 10 Textboxen auf der UserForm.
Füge den folgenden Code in das Code-Fenster der UserForm ein:
Private Sub TextBoxM_Change()
Dim t As String
t = TextBoxM.Text
Dim values() As String
values = Split(t, vbTab) ' Hier kannst du auch andere Trennzeichen verwenden
Dim i As Integer
For i = LBound(values) To UBound(values)
If i < 10 Then ' Sicherstellen, dass nicht mehr als 10 Werte eingefügt werden
Me.Controls("TextBox" & (i + 1)).Text = values(i)
End If
Next i
End Sub
Teste die UserForm: Fülle die Haupt-Textbox (TextBoxM
) mit mehreren Werten, getrennt durch Tabulatoren oder andere Trennzeichen.
Fehler: Alle Werte werden in die erste Textbox eingefügt
Split
-Funktion korrekt eingestellt ist. Du kannst auch andere Trennzeichen verwenden, indem du das Argument von Split
änderst.Fehler: Textboxen bleiben leer
Change
-Ereignis der TextBoxM
-Textbox korrekt ausgelöst wird. Eine alternative Methode, um Werte in Textboxen einer UserForm einzufügen, ist die Verwendung eines Buttons, der die ausgewählten Zellen in die Textboxen überträgt. Dazu kannst du folgenden Code verwenden:
Dim Zelle As Range
Dim i As Long
i = 0
For Each Zelle In Selection
i = i + 1
If i <= 10 Then ' Sicherstellen, dass höchstens 10 Textboxen verwendet werden
Me.Controls("TextBox" & i).Text = Zelle.Text
End If
Next Zelle
Nehmen wir an, du hast in deinem Excel-Blatt die Werte in den Zellen A1 bis A10. Du kannst diese Werte in die Textboxen wie folgt einfügen:
Dies ist besonders nützlich, wenn du mehrere Werte gleichzeitig suchen und in die Textboxen übertragen möchtest, ohne sie manuell einfügen zu müssen.
1. Kann ich auch andere Trennzeichen nutzen?
Ja, du kannst das Trennzeichen in der Split
-Funktion ändern, um z.B. Kommas oder Semikolons zu verwenden.
2. Was passiert, wenn ich mehr als 10 Werte einfüge?
Der Code ist so geschrieben, dass nur die ersten 10 Werte in die Textboxen eingefügt werden. Du kannst die Anzahl der Textboxen erhöhen, wenn du mehr Werte verarbeiten möchtest.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen