活动xcombobox命名问题

我的VBA代码存在一些奇怪的问题,我想知道是否有人可以指出什么是错误的。

在打开我的工作簿时,这段代码被触发

Sub build_SupervisorDropdownBox() Dim locationRange As Range Set locationRange = Sheets("Dashboard").Range("O3:W3") Set sList = Sheets("Dashboard").OLEObjects.Add _ (ClassType:="Forms.ComboBox.1", _ Link:=False, _ DisplayAsIcon:=False, _ Left:=locationRange.Left, _ Top:=locationRange.Top, _ Width:=locationRange.Width, _ Height:=locationRange.Height) sList.name = "supervisorList" End Sub 

这将创build我的combobox,但它具有默认名称comboBox1。 然而,如果我然后删除这个combobox,并再次运行完全相同的代码,一切都被创build和正确命名,我为此感到失望。

任何人都可以指出我需要看的正确方向。

谢谢 :)

编辑:我目前有supervisorList和sList声明为公共variables

试试下面这个:

 ActiveSheet.OLEObjects.Add(ClassType:="Forms.ComboBox.1", Link:=False, DisplayAsIcon:=False, Left:=0, Top:=0, Width:=100, Height:=20).Name = "SomeNameToo" 

或下面

  Set curCombo = ActiveSheet.Shapes.AddFormControl(xlDropDown, Left:=Cells(1, 1).Left, Top:=Cells(2, 1).Top, Width:=100, Height:=20) With curCombo .ControlFormat.DropDownLines = 2 .ControlFormat.AddItem "Temp1", 1 ' Adding data .ControlFormat.AddItem "Temp2", 2 ' Adding data .Name = "newname" .OnAction = "newname_Change" End With