Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Antworten 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
Antworten 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. :)
Antworten Top


Gehe zu:


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