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

Werte aus Textboxen in ListBox

Forumthread: Werte aus Textboxen in ListBox

Werte aus Textboxen in ListBox
02.08.2005 20:26:00
Uwe
Guten Abend,
wieder einmal ein Problem,
ich habe eine UserForm über die ich in 7 TextBoxen Werte eingebe ( Pos./ Anzahl/Einheit/Art-Nr./Bezeichnung/EP und GP) die nach Klick auf einen Button in eine Tabelle übertragen werden.
Danach leeren sich die TextBoxen und sind frei für die nächste Eingabe (nächste Pos.).
Somit wird Zeile für Zeile in einer Tabelle gefüllt.
Kann man diese Werte auch mit Klick auf den selben Butten in einer ListBox auf dieser UserForm parallel wiedergeben um eine Übersicht zu haben was ich in die Tabelle eingetragen habe?
Schon mal vielen Dank!
Gruß Uwe
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Werte aus Textboxen in ListBox
02.08.2005 21:51:05
Christoph
Hi Uwe,
so, z.B. (in der ListBox die Werte aus den TextBoxes einfach untereinander geschrieben)
Gruß
Christoph
Option Explicit
Private Sub CommandButton1_Click()
With Me
.ListBox1.Clear
.ListBox1.AddItem .TextBox1
.ListBox1.AddItem .TextBox2
.ListBox1.AddItem .TextBox3
'...usw
End With
End Sub

Anzeige
AW: Werte aus Textboxen in ListBox
02.08.2005 22:38:08
Uwe
Hallo Christoph,
irgendwas mach ich falsch. Aber so geht es nicht.
In der ListBox kommt nichts an!
Ist der Code denn so falsch?
Option Explicit

Private Sub CommandButton1_Click()
With Me
.ListBox1.Clear
.ListBox1.AddItem .TextBox1
.ListBox1.AddItem .TextBox2
.ListBox1.AddItem .TextBox3
.ListBox1.AddItem .TextBox4
.ListBox1.AddItem .TextBox5
.ListBox1.AddItem .TextBox6
.ListBox1.AddItem .TextBox7
'...usw
End With
Set Frm = Tabelle2
Sheets("Formular").Activate
Range("B65535").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = UserForm2.TextBox2
End With
Set Frm = Tabelle2
Sheets("Formular").Activate
Range("D65535").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = UserForm2.TextBox3
End With
Set Frm = Tabelle2
Sheets("Formular").Activate
Range("F65535").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = UserForm2.TextBox4
End With
Set Frm = Tabelle2
Sheets("Formular").Activate
Range("h65535").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = UserForm2.TextBox5
End With
Set Frm = Tabelle2
Sheets("Formular").Activate
Range("n65535").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = UserForm2.TextBox6
End With
Set Frm = Tabelle2
Sheets("Formular").Activate
Range("o65535").End(xlUp).Offset(1, 0).Select
With Frm
ActiveCell.Value = UserForm2.TextBox7
End With
End
End Sub

Gruß Uwe
Anzeige
AW: ein Beispiel
03.08.2005 08:16:28
Uwe
Hallo Christoph,
soweit entspricht das Beispiel genau dem was ich brauche.
ABER! Kannst Du mir noch sagen wie ich die Werte in der ListBox nebeneinander und nicht untereinander anzeige ?
Vielen Dank schon mal!
Gruß Uwe

Anzeige
Einträge in Listbox-Spalten
03.08.2005 09:31:19
Christoph
Hallo,
mit dem ColumnCount der ListBox die Spaltenanzahl festlegen
und die Zeilen mit "...AddItem..." ersetzen durch:
'....
.ListBox1.AddItem .TextBox1
.ListBox1.List(0, 1) = .TextBox2
.ListBox1.List(0, 2) = .TextBox3
'...usw
Gruß
Christoph
AW: Einträge in Listbox-Spalten
03.08.2005 13:07:09
Uwe
Hallo Christoph,
es tut mir leid aber da ist noch was!
Wenn ich die zweite Zeile übernehmen will schreibt er den Wert der ersten Texbox in die
zweite Zeile der ListBox doch die anderen stehen in der ersten Zeile und überschreiben
den Wert aus der ersten Eingabe.
Ich will nicht nerven, aber da ich kaum Ahnung habe hoffe ich nochmal auf Hilfe.
Gruß Uwe
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Werte aus Textboxen in ListBox übertragen


Schritt-für-Schritt-Anleitung

Um Werte aus Textboxen in eine ListBox auf einer UserForm zu übertragen, befolge diese Schritte:

  1. Erstelle eine UserForm mit mindestens 7 TextBoxen und einer ListBox.
  2. Füge einen CommandButton hinzu, der die Aktion auslöst.
  3. Verwende den folgenden VBA-Code im Code-Editor der UserForm:
Option Explicit

Private Sub CommandButton1_Click()
    With Me
        ' ListBox leeren
        .ListBox1.Clear

        ' Werte aus TextBoxen in die ListBox einfügen
        .ListBox1.AddItem .TextBox1
        .ListBox1.List(.ListBox1.ListCount - 1, 1) = .TextBox2
        .ListBox1.List(.ListBox1.ListCount - 1, 2) = .TextBox3
        .ListBox1.List(.ListBox1.ListCount - 1, 3) = .TextBox4
        .ListBox1.List(.ListBox1.ListCount - 1, 4) = .TextBox5
        .ListBox1.List(.ListBox1.ListCount - 1, 5) = .TextBox6
        .ListBox1.List(.ListBox1.ListCount - 1, 6) = .TextBox7
    End With
End Sub
  1. Aktiviere die Spaltenanzahl der ListBox, indem Du die ColumnCount-Eigenschaft setzt. Zum Beispiel:
Private Sub UserForm_Initialize()
    ListBox1.ColumnCount = 7
End Sub

Häufige Fehler und Lösungen

  • ListBox bleibt leer: Stelle sicher, dass Du den richtigen Code im CommandButton verwendest. Prüfe, ob der Button mit dem Click-Event verknüpft ist.

  • Werte überschreiben sich: Wenn die Werte in der ListBox überschrieben werden, stelle sicher, dass Du die Methode .ListBox1.List(.ListBox1.ListCount - 1, x) korrekt verwendest, um neue Zeilen hinzuzufügen.

  • VBA-Fehler: Überprüfe, ob alle TextBoxen korrekt benannt sind und dass die UserForm ausgeführt wird, bevor Du den Button klickst.


Alternative Methoden

Eine alternative Methode, um Werte aus Textboxen in einer ListBox anzuzeigen, ist die Verwendung eines Arrays:

Dim inputData(1 To 7) As String
inputData(1) = Me.TextBox1.Value
inputData(2) = Me.TextBox2.Value
' ... und so weiter

Me.ListBox1.AddItem Join(inputData, vbTab)

Diese Methode fügt alle Werte auf einmal hinzu, anstatt sie einzeln hinzuzufügen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du die Werte in der ListBox nebeneinander anzeigen kannst:

  1. TextBoxen für Pos., Anzahl, Einheit, Art-Nr., Bezeichnung, EP und GP erstellen.
  2. Code für den Button: So wie in der Schritt-für-Schritt-Anleitung gezeigt.

Wenn Du die UserForm öffnest und die Werte eingibst, werden diese in der ListBox in Spaltenform angezeigt.


Tipps für Profis

  • Nutze die ListCount-Eigenschaft, um die Anzahl der Einträge in der ListBox dynamisch zu überwachen.
  • Verwende ListBox1.Selected(index), um den aktuell ausgewählten Eintrag zu bearbeiten oder zu löschen.
  • Erstelle eine Funktion, um die Werte in eine Excel-Tabelle zu übertragen, nachdem sie in der ListBox angezeigt werden.

FAQ: Häufige Fragen

1. Wie kann ich die ListBox sortieren?
Du kannst die Werte vor dem Hinzufügen in ein Array speichern, das Array sortieren und dann in die ListBox einfügen.

2. Wie kann ich die ListBox nach der Eingabe leeren?
Füge im Code nach dem Hinzufügen der Werte zur ListBox .ListBox1.Clear hinzu, um vorherige Einträge zu löschen.

3. Kann ich die ListBox anpassen?
Ja, Du kannst die Eigenschaften der ListBox anpassen, um Schriftarten, Farben und mehr zu ändern.

4. Gibt es Einschränkungen bei der Anzahl der Einträge in der ListBox?
Die Anzahl der Einträge hängt vom verfügbaren Arbeitsspeicher ab, normalerweise kannst Du aber viele Einträge in einer ListBox verwalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige