2010-08-11 35 views
0

添加按钮,我试图在我的电子表格创建一个按钮用下面的代码问题在VBA

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项目或像这样但是按钮被创建)。

回答

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