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

Forumthread: TextBox Inhalt per CommandButton übernehmen

TextBox Inhalt per CommandButton übernehmen
20.03.2017 18:18:36
Anii
Ich benötige Hife bei der Programmierung eines CommandButton, der den Inhalt einer TextBox in eine formatierte Tabelle übernehmen soll.
Ich habe UserForm1 und UserForm2.
UserForm1 enthält u.a. eine 3-spaltige ListBox gefüllt durch:

Private Sub ComboBox1_Change()
Dim rng As Range
For Each rng In Range("Tabelle1")
If rng.Value = ComboBox1.Value Then
ListBox1.AddItem
ListBox1.List(ListBox1.ListCount - 1, 0) = rng.Offset(, 3)
ListBox1.List(ListBox1.ListCount - 1, 1) = rng.Offset(, 4)
ListBox1.List(ListBox1.ListCount - 1, 2) = rng.Offset(, 6)
End If
Next
End Sub

Per Doppelklick auf einen Eintrag aus der ListBox1 rufe ich UserForm2 auf, diese enthält nur eine TextBox und einen CommandButton. Die TextBox wird gefüllt durch:
Private Sub ListBox1_Click()
With ListBox1
UserForm2.TextBox1 = .List(.ListIndex, 2)
End With
End Sub

Ich bekomme den CommandButton der UserForm2 nicht zum laufen. Er soll den TextBox Inhalt in meine Tabelle1 übernehmen bzw. überschrieben.
Liebe Grüße
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TextBox Inhalt per CommandButton übernehmen
20.03.2017 19:15:27
fcs
Hallo Anli,
du muss nach Auswahl in der Combobox zusätzlich die Information in die Listbox einlesen, in welcher Zeile die Einträge stehen.
Dann kannst du im Code von Userform2 auf diese Information zurückgreifen.
In deinem Beispiel-Code hast den Code für das Listbox-Click-Ereignis anegeben. Ich hab in meinem Vorschlag alles in das Double-Click-Ereinismakro gepackt.
Gruß
Franz
Code im Userform1:

Private Sub ComboBox1_Change()
Dim rng As Range
ListBox1.Clear
For Each rng In Range("Tabelle1")
If rng.Value = ComboBox1.Value Then
ListBox1.AddItem
ListBox1.List(ListBox1.ListCount - 1, 0) = rng.Offset(, 3)
ListBox1.List(ListBox1.ListCount - 1, 1) = rng.Offset(, 4)
ListBox1.List(ListBox1.ListCount - 1, 2) = rng.Offset(, 6)
ListBox1.List(ListBox1.ListCount - 1, 3) = rng.Row 'zusätzlich Zeileninfo in Listbox  _
aufnehmen
End If
Next
End Sub
Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
'Listboxeintrag auswählen und Userform2 anzeigen
With ListBox1
UserForm2.TextBox1 = .List(.ListIndex, 2)
UserForm1.Hide
UserForm2.Show
Call ComboBox1_Change
UserForm1.Show
End With
End Sub
Code für Userform2

Private Sub CommandButton1_Click()
'Eintragen-Schaltfläche
Dim wks As Worksheet
Set wks = Range("Tabelle1").Parent
With UserForm1.ListBox1
wks.Cells(.List(.ListIndex, 3), 7).Value = Me.TextBox1.Value
End With
Unload Me
End Sub
Private Sub CommandButton2_Click()
Abbrechen -Schaltfläche
Unload Me
End Sub

Anzeige
AW: TextBox Inhalt per CommandButton übernehmen
21.03.2017 14:46:52
Anii
Ich bin begeistert, funkt perfekt. Schönen Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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