2010-08-11 9 views
0

je tente de créer un bouton sur ma feuille de calcul avec le code suivantavec le bouton ajouter à vba

Dim btnSaver As Object 

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

J'ai aussi essayé

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

J'obtiens d'abord un message ne peut pas entrer en mode pause cette fois-ci et je presse continuer et obtenir l'erreur définie par l'application ou l'erreur définie par l'objet - quand je l'exécute à partir d'Excel (quand je l'exécute à nouveau avec le débogueur il dit indice hors de portée).

J'ai vérifié le code dans une autre feuille de calcul et cela fonctionne (il ne peut pas modifier le projet vb par programmation ou sth comme ceci mais le bouton est néanmoins créé).

Répondre

0

Il ne se passe que lorsque vous parcourez le code dans l'éditeur, que vous recevrez l'invite "Impossible de saisir le mode pause à ce moment". Ce n'est pas une erreur, c'est juste de vous dire que vous ne pouvez pas arrêter manuellement le code sur cette ligne.

Les autres erreurs sont d'avoir quelque chose de mal dans votre syntaxe. Vous avez seulement quelques lignes de code, donc je ne suis pas sûr que ce soit faux. Vous pourriez essayer quelque chose comme ceci:

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 
Questions connexes