利用 while 循环在 Excel 电子表格中创建组合框



我需要将组合框放置在与此工作表上的单元格相关的特定位置。我试图利用 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

将对象分配给变量时,需要使用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

最新更新