2017-03-17 3 views
0

Ich habe eine Excel-Tabelle, in der ich eine Combobox anwenden möchte.Werte der Combobox mit internem Blattnamen

  A 
1  Test 1 
2  Test 2 
3  Test 3 
4  Test 4 

ich für die Combobox den folgenden Code Bisher: Die Werte für die Drop-down der Combobox, sind in Spalte A in der Excel-Tabelle angezeigt

Private Sub UserForm_Initialize() 
ComboBox1.RowSource = "Sheet1!A1:A4" 
End Sub 

Dieser Code funktioniert perfekt. Wenn ich jedoch den Namen des Blattes von "Sheet1" in zum Beispiel "Marketing" ändern, wird der Code nicht mehr ausgeführt. Daher sollte der Code vorzugsweise auf internen Blatt Namen in Excel verweisen. So habe ich den folgenden Code:

Private Sub UserForm_Initialize() 
ComboBox1.RowSource = Sheet1.Range("A1:A4") 
End Sub 

jedoch mit diesem Code, den ich Laufzeitfehler 424. bekomme Sie eine Ahnung, wie ich den internen Blattnamen verwenden kann, um die Werte aus dem Blatt in den Tropfen zu bekommen Down-Menü der Combobox?

Antwort

1
ComboBox1.RowSource = Sheet1.Name & "!A1:A4" 

Sie können auch den Bereich als versteckte Namen hinzufügen, so dass es automatisch Updates (nicht getestet):

ThisWorkbook.Names.Add Name:="myName", RefersTo:="=Sheet1!A1:A4", Visible:=False 

und dann in der Userform:

ComboBox1.RowSource = "myName" 
Verwandte Themen