Anzeige
Archiv - Navigation
1548to1552
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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!

179 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige