Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Listbox mit Tabellenzelle füllen

Forumthread: Listbox mit Tabellenzelle füllen

Listbox mit Tabellenzelle füllen
15.08.2003 17:40:41
Olaf
Hallo,
habe da ein kleines Problem mit einer Listbox die in einer Userform dargestellt wird. In Tabelle1 ist eine kleine Datenbank erstellt aus der ich gerne aus Spalte j gerne die Informationen in die Listbox einfügen möchte, abhängig vom Datensatz (Zeile).
Ich habe es schonmal versucht mit
me.listbox1.rowsource=range(cells(aa,14) (wobei aa die veränderbare Variable ist)
oder auch
me.listbox1.rowsource=range(cells(aa,14),cells(aa,14))
oder
me.listbox1.rowsource=worksheets("Anschriften").Range(cells(aa,14),cells(aa,14))
mit allen 3 Versuchen brachten mir keinen Erfolg.
Das 2. Problem ist dann noch, sobald sich die Variable aa ändert muß die Listbox aktualisiert werden.
Ich hoffe jemand kann mir weiter helfen
Danke an alle die mir helfen können.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Listbox mit Tabellenzelle füllen
15.08.2003 20:14:33
Oliver
Hallo Olaf,
anhängend der Code, der beim start einer Userform alle Werte in der Spalte A einliest.

Sub UserForm_Initialize()
lzeile = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
For a = 1 To lzeile
UserForm1.ListBox1.AddItem Tabelle1.Cells(a, 1).Value
Next a
End Sub

Um eine Listbox mittels Eingabe von einer Zahl in einer Exceltabelle zum neueinlesen zu bringen brauchst Du ein Ereignis in 'DieseArbeitsmappe':
Address läßt sich durch Value ersetzen und danach kannst Du das Ereignis Listbox einlesen starten.

Sub Worksheet_SelectionChange _
(ByVal Target As Excel.Range)
If Target.Address = "$A$1" Then MsgBox "Zelle A1 selektiert"
End Sub

Ich hoffe die Code-Beispiele haben Dir weitergeholfen.
Gruß
Oliver

Anzeige
AW: Listbox mit Tabellenzelle füllen
15.08.2003 20:29:33
PeterW
Hallo Olaf,
im Modul der UserForm:

Private Sub UserForm_Initialize()
ListBox1.RowSource = "Anschriften!J1:J" & Variable
End Sub

Mit Cells(xx, 14) sprichst du die Spalte N an, für Spalte J müsste es Cells(xx, 10) sein. Die Aktualisierung würde ich mit dem Code durchführen, mit dem du Werte in die Tabelle schreibst.
Gruß
Peter

Anzeige
AW: Listbox mit Tabellenzelle füllen
15.08.2003 20:29:35
Olaf
UserForm1.ListBox1.AddItem Tabelle1.Cells(a, 1).Value
das war genau die Zeile die mir geholfen hat, danke!!!

;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Listbox mit Tabellenzelle füllen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen:

    • Öffne Excel und gehe in den VBA-Editor (Alt + F11).
    • Füge eine neue UserForm hinzu (Rechtsklick im Projekt-Explorer -> Einfügen -> UserForm).
    • Platziere eine ListBox auf der UserForm.
  2. Datenquelle festlegen:

    • Um die ListBox mit Daten aus einer Tabelle zu füllen, verwende folgenden Code im Modul der UserForm:
      Private Sub UserForm_Initialize()
      Dim letzteZeile As Long
      letzteZeile = Tabelle1.Cells(Rows.Count, 1).End(xlUp).Row
      For a = 1 To letzteZeile
         ListBox1.AddItem Tabelle1.Cells(a, 1).Value
      Next a
      End Sub
  3. Daten aus einer bestimmten Spalte füllen:

    • Wenn du die ListBox mit Daten aus Spalte J füllen möchtest, ändere den Code:
      Private Sub UserForm_Initialize()
      ListBox1.RowSource = "Anschriften!J1:J" & Variable
      End Sub
    • Ersetze Variable mit der gewünschten Zeilennummer.
  4. ListBox aktualisieren:

    • Um die ListBox bei einer Änderung in der Auswahl zu aktualisieren, kannst du das Worksheet_SelectionChange-Ereignis nutzen:
      Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
      If Target.Address = "$A$1" Then
         UserForm1.ListBox1.Clear
         ' Füge hier den Code ein, um die ListBox erneut zu füllen
      End If
      End Sub

Häufige Fehler und Lösungen

  • Fehler: ListBox bleibt leer:

    • Stelle sicher, dass der Code in der UserForm_Initialize-Subroutine korrekt ausgeführt wird und dass die Daten in der angegebenen Spalte vorhanden sind.
  • Fehler: Ungültiger Zellbereich:

    • Überprüfe den Range-Parameter in RowSource. Stelle sicher, dass der angegebene Bereich gültig ist und keine leeren Zellen enthält.

Alternative Methoden

  • Direktes Füllen der ListBox: Anstatt RowSource zu verwenden, kannst du die ListBox auch direkt mit AddItem füllen, wie im ersten Schritt beschrieben.

  • Dynamisches Füllen: Nutze VBA, um die ListBox dynamisch basierend auf einer Benutzerauswahl oder einem bestimmten Kriterium zu füllen.


Praktische Beispiele

  • Beispiel für das Füllen der ListBox mit Werten aus Spalte J:

    Private Sub UserForm_Initialize()
      Dim i As Long
      For i = 1 To Tabelle1.Cells(Rows.Count, 10).End(xlUp).Row
          ListBox1.AddItem Tabelle1.Cells(i, 10).Value
      Next i
    End Sub
  • Beispiel für die Aktualisierung der ListBox bei Auswahländerung:

    Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
      If Target.Address = "$B$1" Then
          ' Aktualisiere die ListBox hier
      End If
    End Sub

Tipps für Profis

  • Nutze With-Anweisungen, um den Code zu optimieren und die Lesbarkeit zu erhöhen.
  • Achte darauf, dass die ListBox die richtige Größe hat, um alle Elemente anzuzeigen.
  • Verwende Filter und Sortierfunktionen, um die Daten, die in die ListBox geladen werden, zu optimieren.

FAQ: Häufige Fragen

1. Wie kann ich die ListBox mit Werten aus einer anderen Tabelle füllen?
Du kannst den RowSource-Parameter anpassen, um auf die andere Tabelle zu verweisen, z.B. RowSource = "AndereTabelle!A1:A10".

2. Wie aktualisiere ich die ListBox automatisch, wenn sich die Quelldaten ändern?
Verwende das Worksheet_Change-Ereignis, um die ListBox zu aktualisieren, wenn die Daten in der Tabelle geändert werden.

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