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