在vba中添加按钮的问题

时间:2010-08-11 13:24:22

标签: vba button

我尝试使用以下代码在电子表格上创建一个按钮

Dim btnSaver As Object

Set btnSaver = Workbooks(1).Worksheets("Results").OLEObjects.Add(ClassType:="Forms.CommandButton.1")

我也试过

Set btnSaver = Workbooks(1).Worksheets("Results").OLEObjects.Add("Forms.CommandButton.1")

我首先得到消息,此时无法进入中断模式,我按下继续并获取错误应用程序定义或对象定义错误 - 当我从excel运行它时(当我再次使用调试器运行它时,它说下标出来的范围内)。

我已经检查了另一个电子表格中的代码并且它有效(它说不能以编程方式更改vb项目或者像这样但仍然创建了按钮)。

1 个答案:

答案 0 :(得分:0)

只有当您在编辑器中单步执行代码时,才会收到“此时无法进入中断模式”提示。它不是一个错误,只是告诉你不能手动停止该行的代码。

其他错误来自于语法错误。你只有几行代码,所以我不确定什么是错的。您可以尝试这样的事情:

Sub Test()

    Dim obj As OLEObject
    Dim wk As Workbook
    Dim ws As Worksheet

    Set wk = Application.ActiveWorkbook
    Set ws = wk.ActiveSheet

    'if manually stepping through this line, it will show
    '"Can't Enter Break Mode at this Time" | Click Continue
    Set obj = ws.OLEObjects.Add(ClassType:="Forms.CommandButton.1")

    obj.Left = 48
    obj.Top = 24
    obj.Width = 72
    obj.Name = "btn1"
    obj.Object.Caption = "Test Button"

End Sub