2010-08-11 37 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