VBA - CommandButtons werden nicht erstellt
#1
Hallo Zusammen,

in meiner Arbeitsmappe habe ich einen CommandButton, der mir eine neue Arbeitsmappe erstellt. In der neuen Mappe werden je nachdem wie viele Maschinen die erste Arbeitsmappe hat, so viele Arbeitsblätter werden in der neuen Mappe erstellt. D.h. 4 Maschinen sind 4 Arbeitsblätter. 2 Maschinen sind 2 Arbeitsblätter.

In jedem Arbeitsblatt wird ein Vorgangsprozess dargestellt. Jedes Arbeitsblatt hat 5 Buttons die per Macro erstellt werden und einen Code bekommen.

Mein Problem ist es jetzt, dass wenn ich auf den Button klicke nur im ersten Arbeitsblatt alle 5 Buttons angezeigt werden. In den darauffolgenden Blättern wird immer nur ein Button ohne Code erstellt. 

Wenn ich das Macro mit F8 gedrückt durchlaufen lasse funktioniert alles einwandfrei. Kein Fehler und alle Buttons mit Code sichtbar.

Ich hoffe jmnd. kann mir helfen dieses Problem zu lösen.

Anbei noch mein Macro zum erstellen der Buttons.

Code:
Sub Add_CommandButton()
    Dim btn As Object
    Dim a, b, FTop As Integer
    Dim Code As String

    a = 1
    b = 1
    FTop = 10

    Do
        Set btn = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CommandButton.1", Link:=False, DisplayAsIcon:=False _
                  , Left:=10, Top:=FTop, Width:=110, Height:=25)
        ActiveSheet.OLEObjects(a).Object.Catption = "Report_" & b
        btn.Name = "Project_Report_" & b

        Code = "Private Sub Project_Report_" & b & "_Click()" & vbCrLf
        Code = Code & "    [UserForm" & b &"].Show" & vbCrLf
        Code = Code & "End Sub"
      
        a = a + 1
        b = b + 1
        FTop = FTop + 50
    Loop Until a = 6
End Sub

Ich habe es auch schon mit "Application.Wait()" probiert bevor das Macro aktiviert wird. Hat aber leider auch nichts gebracht.
Top
#2
Hallo,

mit deinem geposteten Code wird nur ein Button ohne Code erzeugt. Auch von mehreren Tabellenblättern sehe ich nichts.
Gruß Stefan
Win 10 / Office 2016
Top
#3
Hab beim Post vergessen den Teil einzufügen der den den Code einfügt. Bin mein gesamtes Macro nochmals durchgegangen. Habe gleich im ersten Macro entdeckt, dass ich "On Error Resume Next" drinnen hatte. Habe dies rausgenommen, dann hat er mir den Fehler auch angezeigt. Konnte das Problem also nun selbständig lösen. Trotzdem Danke fürs reinschauen. :)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste