Private Sub CommandButton1_Click()
ActiveSheet.OLEObjects.Add ClassType:="Forms.combobox.1", Link:=False, DisplayAsIcon:=False, Left:=ActiveCell.Left, Top:=ActiveCell.Top, Width:=ActiveCell.Width, Height:=ActiveCell.Height
End Sub
Private Sub mtd(ByRef obj As OLEObject)
ActiveSheet.OLEObjects(obj.Name).Object.List = Array(1, 2, 3, 4, 5)
MsgBox ActiveSheet.OLEObjects(obj.Name).Object.ListCount
End Sub
Private Sub CommandButton2_Click()
Dim ctl As OLEObject
For Each ctl In Worksheets("Sheet1").OLEObjects
If ctl.Name = "ComboBox1" Then mtd ctl
Next
End Sub
Private Sub CommandButton1_Click()
Dim ctl As Shape
For Each ctl In Worksheets("Sheet1").Shapes
If ctl.Name = "ComboBox1" Then ctl.Left = 0
Next
End Sub
Private Sub mtd(ByRef obj As ComboBox)
obj.Left = 500
End Sub
Private Sub CommandButton2_Click()
mtd ComboBox1
End Sub
也可以这样调用:
Private Sub CommandButton3_Click()
Worksheets("Sheet1").Shapes("combobox1").Top = 100
End Sub