我需要将组合框放置在相对于此工作表上的单元格的特定位置。我试图利用while循环来更改变量值,并利用该变量来动态更改单元格。但是,我的代码似乎不起作用。该循环将运行一次,但在连续循环中会给我一个“对象不支持此属性或方法”错误。
Dim t As Integer
Dim wotype as object
t = 1
Do While t < 43
wotype = ActiveSheet.Shapes.AddFormControl(xlDropDown, Left:=Cells(4, t).Left, Top:=Cells(3, t).Top, Width:=25.29, Height:=Rows(3).RowHeight)
t = t + 3
Loop
答案 0 :(得分:0)
将对象分配给变量时,需要使用Set
关键字...
set wotype = ActiveSheet.Shapes.AddFormControl(xlDropDown, Left:=Cells(4, t).Left, Top:=Cells(3, t).Top, Width:=25.29, Height:=Rows(3).RowHeight)
尽管在这种情况下,由于您随后没有引用变量,因此可以按如下方式重写代码...
Dim t As Integer
t = 1
Do While t < 43
ActiveSheet.Shapes.AddFormControl xlDropDown, Left:=Cells(4, t).Left, Top:=Cells(3, t).Top, Width:=25.29, Height:=Rows(3).RowHeight
t = t + 3
Loop