我有一个循环,在其中我在特定工作表中添加 ActiveX 按钮。但不管循环有多大,它只添加一个按钮。循环位于工作表的行上。每次它应该进入新行并添加一个按钮。但是第一次它排成一行时,添加按钮,然后函数被终止。即使在添加动态按钮的行之后写入的 msgbox 也不会执行。下面是代码:
Public Function AddButton(strSheetName, counter)
Dim btn As OLEObject
Dim cLeft, cTop, cWidth, cHeight
With Worksheets(strSheetName).Range("J" & (6 + counter))
cLeft = .Left
cTop = .Top
cWidth = .Width
cHeight = .Height
End With
With Worksheets(strSheetName)
btn = .OLEObjects.Add(ClassType:="Forms.Label.1", Link:=True, DisplayAsIcon:=False, Left:=cLeft, Top:=cTop, Width:=cWidth, Height:=cHeight)
End With
MsgBox "After Adding button"
End Function
现在这个函数被循环调用。在第一次迭代中,该函数将一个按钮添加到所需的位置,并且在添加按钮后立即终止此函数和调用函数(以及因此循环)。甚至 msgbox(添加按钮后)也不会执行。
可能是什么原因?有什么帮助吗?在此先感谢 Akki J