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

Werte aus UserForm Listbox in Tabelle übergeben

Forumthread: Werte aus UserForm Listbox in Tabelle übergeben

Werte aus UserForm Listbox in Tabelle übergeben
30.10.2002 22:31:49
Tobi
Hallo Forum,
habe folgendes Problem und wäre für Hilfe dankbar.
Aus einem Sheet (Werkstoffe) möchte ich über eine UF-Listbox den gewünschten Werkstoff markieren. Quelle ist sind 3 Spalten mit "Bezeichnung Neu", "Bezeichnung alt2 und "Nummer".
Nachfolgender Code funktioniert bis zur Übernahme der Daten.


Option Explicit

Private Sub cmdOK_Click()
?
?
?
Unload Me
End Sub

Private Sub UserForm_Initialize()
Dim lR%
lR = Worksheets("Werkstoffe").Cells(Rows.Count, 1).End(xlUp).Row
ListBox1.RowSource = "Werkstoffe!C3:E" & lR
ListBox1.ListIndex = 0
End Sub

In einem anderen Sheet soll dann "Bezeichnung Neu", "Bezeichnung alt" und "Nummer" in jeweils einer Zelle stehen.

Kann mir jemand weiterhelfen???
Danke + Grüsse
Tobias


Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Werte aus UserForm Listbox in Tabelle übergeben
30.10.2002 23:15:37
Ramses
Hallo Tobias,

ungetestet, aber probier mal:

herzliche Grüsse
Rainer

Re: Werte aus UserForm Listbox in Tabelle übergeben
30.10.2002 23:18:38
PeterW
Hallo Tobias,

leider hast Du nicht erwähnt, wohin genau der Wert geschrieben werden soll.

Die anderen beiden Werte übernimmst Du per SVERWEIS.

Gruß
Peter

Re: Werte aus UserForm Listbox in Tabelle übergeben
31.10.2002 06:45:53
Danke Ramses und PeterW
Morgen Ihr beiden,
aus Euren beiden Lösungen habe ich mir meine zurechtgeschustert wie ich sie brauche. Daten werden aus Listbox in jeweils eine Zelle in das Zielblatt ausgelesen.

Private Sub cmdOK_Click()
Worksheets("Werkstoffkennwerte").Cells(8, 3) = ListBox1.Column(0)
Worksheets("Werkstoffkennwerte").Cells(8, 4) = ListBox1.Column(1)
Worksheets("Werkstoffkennwerte").Cells(8, 5) = ListBox1.Column(2)
Unload Me
End Sub

Vielen, vielen Dank + Gruss

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Werte aus UserForm Listbox in Excel-Tabelle übergeben


Schritt-für-Schritt-Anleitung

  1. UserForm erstellen: Öffne Excel und erstelle eine UserForm. Füge eine ListBox und einen Button hinzu.

  2. Datenquelle festlegen: In deinem UserForm-Code musst du die Datenquelle für die ListBox angeben. Der folgende Code lädt die Daten aus dem Arbeitsblatt "Werkstoffe":

    Private Sub UserForm_Initialize()
       Dim lR As Long
       lR = Worksheets("Werkstoffe").Cells(Rows.Count, 1).End(xlUp).Row
       ListBox1.RowSource = "Werkstoffe!C3:E" & lR
       ListBox1.ListIndex = 0
    End Sub
  3. Datenübertragung: Um die ausgewählten Werte in ein anderes Arbeitsblatt zu übertragen, füge den folgenden Code in das cmdOK_Click-Ereignis ein:

    Private Sub cmdOK_Click()
       Worksheets("Werkstoffkennwerte").Cells(8, 3) = ListBox1.Column(0)
       Worksheets("Werkstoffkennwerte").Cells(8, 4) = ListBox1.Column(1)
       Worksheets("Werkstoffkennwerte").Cells(8, 5) = ListBox1.Column(2)
       Unload Me
    End Sub
  4. Testen: Starte die UserForm und wähle einen Werkstoff aus der ListBox aus. Klicke auf den Button, um die Werte in die entsprechende Tabelle zu übernehmen.


Häufige Fehler und Lösungen

  • Werte werden nicht übertragen: Überprüfe, ob die Zellen in deinem Zielblatt ("Werkstoffkennwerte") korrekt benannt sind und ob die UserForm richtig initialisiert wurde.
  • ListBox bleibt leer: Stelle sicher, dass die Datenquelle korrekt angegeben ist und dass das Arbeitsblatt "Werkstoffe" existiert.
  • Fehler beim Ausführen des Codes: Achte darauf, dass der VBA-Code in einem Modul der UserForm korrekt platziert ist.

Alternative Methoden

Falls du keine UserForm verwenden möchtest, kannst du auch direkt mit Datenvalidierung und Dropdown-Listen arbeiten. Hierbei kannst du die Funktion SVERWEIS nutzen, um Werte basierend auf der Auswahl in einer Dropdown-Liste zu übernehmen.


Praktische Beispiele

Ein einfaches Beispiel könnte sein, dass du in der ListBox Namen von Werkstoffen anzeigst und deren Eigenschaften in einem anderen Blatt speicherst. Hier ein Beispiel für den Code zur Datenübertragung:

Private Sub cmdOK_Click()
    Dim ausgewählt As Long
    ausgewählt = ListBox1.ListIndex
    If ausgewählt <> -1 Then
        Worksheets("Werkstoffkennwerte").Cells(8, 3) = ListBox1.Column(0, ausgewählt)
        Worksheets("Werkstoffkennwerte").Cells(8, 4) = ListBox1.Column(1, ausgewählt)
        Worksheets("Werkstoffkennwerte").Cells(8, 5) = ListBox1.Column(2, ausgewählt)
    End If
    Unload Me
End Sub

Tipps für Profis

  • Nutze die SVERWEIS-Funktion in Kombination mit der UserForm, um dynamische Datenübertragungen zu ermöglichen.
  • Achte darauf, dass die UserForm benutzerfreundlich gestaltet ist, um die Auswahl und Übertragung der Werte zu erleichtern.
  • Teste deine UserForm regelmäßig, um sicherzustellen, dass alle Übertragungen korrekt funktionieren und keine Laufzeitfehler auftreten.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Werte gleichzeitig aus der ListBox auswählen?
Standardmäßig unterstützt die ListBox nur eine Auswahl. Du kannst jedoch die MultiSelect-Eigenschaft der ListBox aktivieren, um mehrere Werte auszuwählen.

2. Was kann ich tun, wenn meine ListBox nicht die erwarteten Daten anzeigt?
Überprüfe die RowSource-Eigenschaft und stelle sicher, dass die Referenz auf das richtige Arbeitsblatt und den richtigen Zellbereich zeigt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige