Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen

Comboboxen in Userform füllen

Betrifft: Comboboxen in Userform füllen von: Jens_Pu
Geschrieben am: 20.09.2004 13:13:23

Hallo Excelfreunde,

nach einer längeren Excelpause habe ich mal wieder ein Problem.
Wie muß ich die 2. Controls-Zeiel schreiben, damit immer die zur jeweiligen Combobox gehörige RowSource eingelesen wird?

Die UserForm initialisiere ich so:

Private Sub UserForm_Initialize()
  Dim i As Byte         'Objektzähler
  
  For i = 1 To 2        'mal 2 zum testen, sind aber atwa 40
    Controls("ComboBox" & i).Clear
    Controls("Combobox" & i).RowSource = "Formdat!C3:C" & Sheets("Formdat").Range("C65536").End(xlUp).Row
  Next i
  
End Sub



Das Worksheet "Formdat ist folgendermaßen aufgebaut:

 
 CDE
2Combobox1Combobox2Combobox3
3   
411Ofr
522Mfr
633Ufr
7 4Opf
8 5 
9 6 
10 7 
11 8 
12 9 
13 10 
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  



Kann mir jemand auf die Sprünge helfen?

Gruß Jens
  


Betrifft: AW: Comboboxen in Userform füllen von: Klaus Schubert
Geschrieben am: 20.09.2004 19:48:04

Hallo Jens,

versuch's mal hiermit:

Private Sub UserForm_Initialize()

Dim i As Integer, LetzteZelleSpalte As Integer
Dim ErsteZeileDaten As Integer, SpalteComboBox1 As Integer
Dim AnzahlComboBox As Integer, Datenblatt As Worksheet
Dim Bereich As String, NameDatenblatt As String

'--------------------------------------------------------------

NameDatenblatt = "Formdat"
SpalteComboBox1 = 3 '3 entspricht Spalte C, 4 = Spalte D usw.
ErsteZeileDaten = 3 'Bei Zeile 3 beginnen
AnzahlComboBox = 2 'entsprechend der eigenen Anzahl anpassen

'--------------------------------------------------------------

Set Datenblatt = Sheets(NameDatenblatt)

Datenblatt.Cells(ErsteZeileDaten, SpalteComboBox1).Activate
SpalteComboBox1 = SpalteComboBox1 - 1

For i = 1 To AnzahlComboBox

    LetzteZelleSpalte = _
    Datenblatt.Cells(Cells.Rows.Count, i + SpalteComboBox1).End(xlUp).Row

    Bereich = Range(Cells(ErsteZeileDaten, i + SpalteComboBox1), _
    Cells(LetzteZelleSpalte, i + SpalteComboBox1)).Address


    Controls("ComboBox" & i).Clear
    Controls("Combobox" & i).RowSource = _
    NameDatenblatt & "!" & Bereich
    
Next i
  
End Sub


Zumindest mit Office 2000 funktioniert es bei mir, Excel 2003 weiß ich nicht.

Habe viele Variablen benutzt, damit die Anpassung hoffentlich einfacher ist.

Gruß Klaus


  


Betrifft: AW: Comboboxen in Userform füllen von: Jens_Pu
Geschrieben am: 21.09.2004 09:08:58

Hallo Klaus,

vielen Dank für Deine Lösung.
Habe gestern auch noch etwas rumprobiert und bin auch zu dieser Lösung gekommen.
Wobei mir Deine Version mit den Variablen etwas besser gefällt, wegen der Übersichtlichkeit. Geht mit Excel 2003.

Gruß Jens


 

Beiträge aus den Excel-Beispielen zum Thema "Comboboxen in Userform füllen"