Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1492to1496
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA CommandBar

VBA CommandBar
15.05.2016 10:13:04
Lukas
Hallo Forum,
Ich möchte 2 Commandbars in der Add-In-Leiste hinzufügen.
Dazu habe ich folgenden Code:
  • 
    Sub Beginnen()
    Dim BefehlsleistenPrfüen As CommandBar
    For Each BefehlsleistenPrfüen In Application.CommandBars
    If BefehlsleistenPrfüen.Name = "Stoppuhr" Then
    BefehlsleistenPrfüen.Delete
    End If
    Next
    For Each BefehlsleistenPrfüen In Application.CommandBars
    If BefehlsleistenPrfüen.Name = "Bearbeitungsleiste" Then
    BefehlsleistenPrfüen.Delete
    End If
    Next
    Set meineBefehlsleiste = CommandBars.Add(Name:="Stoppuhr", Position:=msoBarFloating, temporary:= _
    False)
    Set BearbeitungsLeiste = CommandBars.Add(Name:="Bearbeitungsleiste", Position:= _
    msoBarFloating, temporary:=False)
    Set cmbStart = meineBefehlsleiste.Controls.Add(msoControlButton)
    With cmbStart
    .Caption = "Start"
    .OnAction = "Start"
    .Style = msoButtonCaption
    .Enabled = True
    .Visible = True
    End With
    Set cmbZwischenzeit = meineBefehlsleiste.Controls.Add(msoControlButton)
    With cmbZwischenzeit
    .Caption = "Zwischenzeit"
    .OnAction = "Zwischenzeit"
    .Style = msoButtonCaption
    .Enabled = False
    .Visible = True
    End With
    Set cmbStopp = meineBefehlsleiste.Controls.Add(msoControlButton)
    With cmbStopp
    .Caption = "Stopp"
    .OnAction = "Stopp"
    .Style = msoButtonCaption
    .Enabled = False
    .Visible = True
    End With
    Set cmbAblaufabschnittBearbeiten = BearbeitungsLeiste.Controls.Add(msoControlButton)
    With cmbAblaufabschnittBearbeiten
    .Caption = "Ablaufabschnitt bearbeiten"
    .OnAction = "AblaufabschnittBearbeiten"
    .Style = msoButtonCaption
    .Enabled = True
    .Visible = True
    End With
    Set cmbStörfallBearbeiten = BearbeitungsLeiste.Controls.Add(msoControlButton)
    With cmbStörfallBearbeiten
    .Caption = "Störfall bearbeiten"
    .OnAction = "StöranfallBearbeiten"
    .Style = msoButtonCaption
    .Enabled = True
    .Visible = True
    End With
    meineBefehlsleiste.Visible = True
    BearbeitungsLeiste.Visible = True
    End Sub
    


  • Ich bekomme allerdings bei der Commandbar mit dem Namen "Bearbeitungsleiste" eine Fehlermeldung. Die Zeile, die Fett hervorgehoben wurde, wird dabei markiert. Die Fehlermeldung lautet: 'Laufzeitfehler 5' Ungültiger Prozeduraufruf oder ungültiges Argument.
    Was ist hier der Fehler und wie kann ich ihn beheben?
    Danke für die Antworten schon im Voraus!

    25
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: VBA CommandBar
    15.05.2016 10:22:57
    mumpel
    Hallo!
    1. Welche Officeversion?
    2. Du solltest Dir angewöhnen alle Variablen zu deklarieren.
    Gruß, René

    AW: VBA CommandBar
    15.05.2016 10:27:33
    Lukas
    Office-Version 2010
    Ich habe die Variablen deklariert, allerdings modulöffentlich, da ich später noch darauf zugreifen muss. Alle Variablen sind deklariert! Wo liegt der Fehler?
    Danke schon mal für die Antwort!

    AW: VBA CommandBar
    15.05.2016 10:32:12
    mumpel
    Der Fehler kommt vom Namen. Der Name der Symbolleiste darf nicht den selben Namen tragen wie die Variable.

    AW: VBA CommandBar
    15.05.2016 10:37:45
    Nepumuk
    Hallo,
    der Name der Leiste ist zu lang. Der darf maximal 17 Zeichen beinhalten.
    Gruß
    Nepumuk

    Anzeige
    AW: VBA CommandBar
    15.05.2016 10:39:36
    Lukas
    Habe ich bereits zu Bearbeiten geändert. Fehlermeldung kommt trotzdem!

    AW: VBA CommandBar
    15.05.2016 10:40:53
    mumpel
    Dann müsste es aber funktionieren.

    AW: VBA CommandBar
    15.05.2016 10:47:40
    Lukas
    Vielen Dank für eure Hilfe! Mit exakt 9 Zeichen funktioniert es!

    Kürze mal auf 9 Zeichen. owT.
    15.05.2016 10:42:43
    mumpel

    AW: Kürze mal auf 9 Zeichen. owT.
    15.05.2016 10:44:44
    Lukas
    Trotzdem der gleiche Fehler.

    AW: VBA CommandBar
    15.05.2016 10:42:16
    mumpel
    Bei mir (Office 2016) nimmt er nur 9 Zeichen an.

    AW: VBA CommandBar
    15.05.2016 10:45:12
    Lukas
    habe ich versucht, bringt trotzdem nichts...

    AW: VBA CommandBar
    15.05.2016 10:48:31
    mumpel
    Bei mir kommt der Fehler nur wenn die Symbolleiste bereits existiert.

    AW: VBA CommandBar
    15.05.2016 10:50:46
    Lukas
    Habe das Problem bereits gelöst! Weniger als neun Zeichen bringen auch einen Fehler!

    AW: VBA CommandBar
    15.05.2016 10:53:22
    mumpel
    Wie hast Du es gelöst? Wo lag der Fehler?

    Anzeige
    AW: VBA CommandBar
    15.05.2016 11:09:13
    Lukas
    Da einige geschrieben haben, dass der Name zu lang ist habe ich ihn auf 1 Zeichen gekürzt. Dann hat es wieder nicht funktioniert und dann haben einige geschrieben er soll 9 Zeichen lang sein. Das funktioniert! Anscheinend darf der Name also nicht zu kurz und nicht zu lang sein!
    Dank für deine Hilfe nochmal!

    AW: VBA CommandBar
    15.05.2016 11:19:31
    mumpel
    Wenn ich mich recht erinnere müssen es mindestens 3 Zeichen sein. Ich habe aber schon seit 10 Jahren keine Symbolleiste mehr erstellt. Ich habe mich auf das Menüband spezialisiert.

    AW: VBA CommandBar
    15.05.2016 11:21:29
    Lukas
    Kann gut möglich sein!
    Was ist der Unterschied zwischen Symbolleiste und Menüband?

    Anzeige
    AW: VBA CommandBar
    15.05.2016 11:25:42
    mumpel
    Das Menüband beruht auf XML-Programmierung. Eigentlich gibt es seit Office 2007 keine Menü- und Symbolleisten mehr. Das Add-Ins-Tab ist für den Kompatibilitätsmodus. Wenn Du meinen Workshop durcharbeitest wirst Du den Unterschied erkennen.

    AW: VBA CommandBar
    15.05.2016 11:30:50
    Lukas
    Oke, dann mache ich das!
    Vielen Dank für deine Hilfe!

    AW: Nachtrag
    15.05.2016 11:36:06
    Lukas
    Werde ich mir ansehen!
    Danke für den Link

    AW: VBA CommandBar
    15.05.2016 10:38:00
    Lukas
    Habe die Variable umbenannt aber bekomme trotzdem den gleichen Fehler...
    Hast du sonst noch eine Idee?

    Anzeige
    AW: VBA CommandBar
    15.05.2016 10:39:43
    mumpel
    Der Name ist zu lang hat Max gerade gesagt.

    AW: VBA CommandBar
    15.05.2016 10:40:58
    Lukas
    Ich habe ihn bereits gekürzt und bekomme trotzdem die gleiche Fehlermeldung...

    AW: VBA CommandBar
    15.05.2016 10:45:53
    mumpel
    Muss es unbedingt im Tab "Add-Ins" sein? Wenn die Datei nicht in älteren Versionen laufen soll dann wäre RibbonX m.E. besser. Du kannst aber auch beides integrieren und die alte Symbolleiste nur laden wenn die Officeversion kleiner 12 ist. Menüband und Schnellzugriffleiste anpassen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige