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

Utilizing a while loop to create combo boxes within Excel Spreadsheet

我需要将组合框放置在与此工作表上的单元格相关的特定位置。我试图利用 while 循环来更改变量值并利用该变量动态更改单元格。但是,我的代码似乎不起作用。该循环将 运行 通过一次,但会在后续循环中给我一个 "object does not support this property or method" 错误。

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