online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Eleve vom 17.12.2019, 14:02 Options

Symbol mit VBA automatisch erstellen und einfügen

Hallo Leute,

ich komme mit folgendem Problem nicht weiter.
Ich habe eine Vorlagedatei (Excel2000) mit mehreren Makros.
Diese Datei sollen Mitarbeiter kopieren und umbenennen.
Der VBA Code solle folgendes leisten:
* beim starten der Datei automatisch ein Symbol erstellen
* das Symbol soll mit einem Makro aus der Arbeitsmappe verknüpft
werden
* dies muss unabhängig vom Dateinamen geschen, da die Mitarbeiter
die Name unterschiedlich vergeben.

Könnt Ihr mir einige Anregungen geben?

Vielen Dank schon mal von mir im Vorraus

Eleve


Antwort schreiben

Antwort 1 von aiuto vom 17.12.2019, 16:39 Options

Hi Eleve,

Nachfolgender Code sollte in ein Modul kopiert werden, und das von Dir Beschriebene erledigen:

Option Explicit

Sub Mein_Makro()
Beep
End Sub

Sub auto_open()
Symbolleiste
End Sub

Sub Symbolleiste(strName$)
If strName = "" Then strName = "Meine Symbolleiste"
Dim MyCButton As CommandBarControl
Dim myCbar As CommandBar
If Application.CommandBars(strName).Index > 0 Then
Application.CommandBars(strName).Delete
End If
Set myCbar = CommandBars.Add(strName, msoBarFloating, , True)
With myCbar
.Top = 200 'Position im Fenster
.Left = 100
.Visible = True
End With
Set MyCButton = myCbar.Controls.Add(msoControlButton)
MyCButton.FaceId = 500 'Symbolauswahl über Zahl
MyCButton.TooltipText = "Meine Makrobeschreibung"
MyCButton.OnAction = "Mein_Makro" 'verknüpftes Makro
End Sub


mfg
vom Helfer

Antwort 2 von Eleve vom 18.12.2019, 14:00 Options

Hallo lieber Helfer,

vielen Dank erst mal für die Antwort.

Ich habe folgendes Problem.

Wenn ich den Code in mein auto_open Makro integriere bricht der Code in der Zeile:
If Application.CommandBars(strName).Index > 0 Then

mit dem Fehler
Zitat:
Laufzeitfehler -2147024809(80070057)
Microsoft Excel kann keine übereinstimmenden Daten zum Ersetzen finden. Keine Zelle der Markierung enthält den Suchbegriff oder kein Datensatz entspricht dem Kriterium.

ab.

Wenn ich Deine Codes so verwende, wie Du es mir geschrieben hast, dann krieg ich die Meldung:
Zitat:
Argument ist nicht optional.


Ich hab den Code in ein neues Modul in einer neuen Mappe kopiert.
Kann ich irgendetwas dabei falsch machen?

Viele Grüße Eleve

Antwort 3 von aiuto vom 18.12.2019, 15:21 Options

Hallo Eleve,

Du kannst den IF-Block komplett löschen, der diente während der Entwicklung dazu, die (bereits) vorhandene Symbolleiste zu löschen.
Zitat:
If Application.CommandBars(strName).Index > 0 Then
Application.CommandBars(strName).Delete
End If
Habe vergessen das zu entfernen

mfg
vom Helfer

Antwort 4 von Eleve vom 20.12.2019, 14:32 Options

Hallo Helfer,

vielen Dank! Das wars.

Ich musste noch eine Modifikationen vornehmen - Sub auto_open in sub workbook_open.

Hast mein Weihnachtsurlaub um einiges ruhiger gemacht -
schönen Dank nochmal und eine Gute Zeit


Eleve

Ähnliche Themen

Excel-Datei in einem Exceltabellenblatt als Symbol einfügen
MARKUS1976  08.01.2008 - 50 Hits - 2 Antworten

Brauche Tipps für einen individuellen VBA-Code
varginator  03.04.2008 - 117 Hits - 14 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026