Hallo Andreas,
in deinem Code schreibst du öfter
wkbdatei.Worksheets(strTabelle)("Inventurliste").
strTabelle enthält ja eine Variable für den Tabellennamen, den der User vorher ausgewählt hat. Außerdem setzt du in Klammern noch die Tabelle Inventurliste dahinter. Diese Syntax - also zwei Tabellennamen anzusprechen - gibt es so nicht und funktioniert auch nicht.
Willst du die Combobox1 z.B. in einem Rutsch mit RowSource füllen, dann so:
Private Sub UserForm_Initialize()
With ComboBox1
.RowSource = "Inventurliste!G7:G750"
.ListIndex = 0
End With
End Sub
Hier wird sich automatisch auf das aktuelle Workbook bezogen.
Natürlich kannst du das auch über eine Schleife machen:
Private Sub UserForm_Initialize()
Dim lngZeile As Long
With ComboBox1
For lngZeile = 7 To 750
.AddItem ThisWorkbook.Worksheets("Inventurliste").Cells(lngZeile, 7)
Next lngZeile
.ListIndex = 0
End With
End Sub
Hier hast du den Vorteil, dass du ohne große Probleme die Datei und die Tabelle, aus der die Daten eingelesen werden sollen, festlegen kannst.
Wenn du das bei Userform-Initialize machen willst, musst du das natürlich bei der Userform machen, die du aufrufen willst. Am besten öffnest du das VBA-Projekt und machst einen Doppelklick auf deine Userform . Jetzt steht im Eingabebereich
Private Sub UserForm_Click()
End Sub
Im rechten oberen Teil des Fensters kannst du statt Click nun Initialize auswählen und hier deinen Code einfügen.
Aber das ist nicht die einzige Möglichkeit. Du kannst das z.B. auch über einen Command-Button machen. Hier musst du aber den Namen der Userform kennen (der ja in den Eigenschaften steht):
Private Sub CommandButton1_Click()
Dim lngZeile As Long
With UserForm1
With .ComboBox1
For lngZeile = 7 To 750
.AddItem ThisWorkbook.Worksheets("Inventurliste").Cells(lngZeile, 7)
Next lngZeile
.ListIndex = 0
End With
.Show
End With
End Sub
Das alles gilt natürlich sinngemäß für sämtlich andere Steuerelemente, die du in deiner Userform hast. Und natürlich solltest du auch wissen, wie du die einzelnen Steuerelemente ansprechen kannst. Dazu kannst du dir z.B. mal das hier anschauen: Tutorial Steuerlemente
Gruß
M.O.