110. Combo- und ListBoxen mit mehreren_Spalten

Aufgabenstellung:

In dieser Beispieldatei geht es um das mehrspaltige Füllen von List- und ComboBoxen mit der List-Methode. Aufgezeigt wird dieses an Objekten in einer UserForm.


Dieses Beispiel steht auch als Beispieldatei zum Download zur Verfügung.

In der Zipdatei befindet sich eine xls-Datei für Excel 2000 - 2003 und eine xlsm-Datei für Excel 2007.



Aufbau des Tabellenblatts mit den einzulesenden Daten:

 ABCDEF
1      
2 KD-NummerNameStrasse, NrPlz., Ort 
3 1KlingKlingelallee 136921 Klingen 
4 2KrügerMeiereistrasse 323456 Meiershausen 
5 3MüllerMüllerstrasse 1045454 Müllershausen 
6 4MüllerMüllergasse 3324680 Müllerstadt 
7 5MusterfrauMüllerstrasse 112345 Musterstadt 
8 6MusterfrauScharnweberstrasse 4430251 Musterstadt 
9 7MusterfrauScharnweberstrasse 130251 Musterstadt 
10 8MustermannMusterstrasse 223456 Musterstadt 
11 9MustermannMusterstarsse 2234567 Musterstadt 
12 10MustermannMusterstrasse 112345 Musterstadt 
13 11ScheckelhoffWeisestrasse 2812049 Berlin 
14 12ScheckelhoffWeisestrasse 2812789 Berlin 
15 13SchmidtFriesenstrasse 30556789 Zuhause 
16 14SchmidthuberSchmidtgasse 212345 Hannover 
17 15MaierSchlossallee 4513435 Berlin 
18      

 


Realisiert wurde das Beispiel durch eine VBA-Lösung.

Der Code ist in das VBA Projekt der UserForm einzufügen


Option Explicit


Private Sub UserForm_Initialize()
Dim iRow As Integer
'Anzahl Spalten in ComboBox
ComboBox1.ColumnCount = 4
'Breite der Spalten in ComboBox
ComboBox1.ColumnWidths = "2cm; 0,6cm; 3,5cm; 3cm"

'Anzahl Spalten in ListBox
ListBox1.ColumnCount = 4
'Breite der Spalten in ListBox
ListBox1.ColumnWidths = "0,6cm; 2cm; 3,5cm; 3cm"

'For/Next-Schleife zum Füllen der Objekte
For iRow = 3 To Range("B65536").End(xlUp).Row

'ComboBox mit Mandantennamen füllen
'1.Spalte mit Daten aus Spalte B
ComboBox1.AddItem Cells(iRow, 3)
'2.Spalte mit Daten aus Spalte C
ComboBox1.List(ComboBox1.ListCount - 1, 1) = Cells(iRow, 2)
'3.Spalte mit Daten aus Spalte D
ComboBox1.List(ComboBox1.ListCount - 1, 2) = Cells(iRow, 4)
'4.Spalte mit Daten aus Spalte E
ComboBox1.List(ComboBox1.ListCount - 1, 3) = Cells(iRow, 5)

'Listbox mit Mandantennamen füllen
'1.Spalte mit Daten aus Spalte B
ListBox1.AddItem Cells(iRow, 2)
'2.Spalte mit Daten aus Spalte C
ListBox1.List(ListBox1.ListCount - 1, 1) = Cells(iRow, 3)
'3.Spalte mit Daten aus Spalte D
ListBox1.List(ListBox1.ListCount - 1, 2) = Cells(iRow, 4)
'4.Spalte mit Daten aus Spalte E
ListBox1.List(ListBox1.ListCount - 1, 3) = Cells(iRow, 5)

Next
End Sub

 


Dieses Beispiel wurde unter den in der Tabelle aufgeführten Versionen getestet.

  A B C D E
1        

2

 

Excel - Version

Getestet

 
3      
4   Excel 2007 12.0 a  
5   Excel 2003 11.0 a  
6   Excel 2002 10.0 a  
7   Excel 2000 9.0 a  
8   Excel 97 8.0    
9          
10   Anzahl der Downloads:

 
11          
12   Dieses Beispiel wurde bereits  x aufgerufen.  
13    
14          

 


> Beispieldatei herunterladen <

  Sollten beim Ausführen der Beispieldatei Fehler auftreten, bitte ich darum, mir eine Mail mit der Fehlerbeschreibung an fehler@excelbeispiele.de zu schicken.
Danke!

 Möchten Sie www.excelbeispiele.de in Ihre Favoriten aufnehmen? Dann Klicken Sie hier.
 

Kontakt:

letzte Aktualisierung am 16.09.2009

© 2004 - Copyright Oliver Scheckelhoff,
All Rights Reserved