Excel Toolbar für andere Nutzer verfügbar machen

Hallo Excel-Profis,
mittlerweile kann ich auch schon einiges über Makros und VBA realisieren, jedoch komme ich diesmal nicht weiter.

Ich habe eine Toolbar erstellt und diese mit verschiedenen Standard- und selbstgeschriebenen Buttons bestückt.
Jetzt habe ich die Datei, in der ich die Toolbar brauche, einem Kollegen gesandt und dachte er könnte die Toolbar nun nutzen.
Leider kann er sie nicht auswählen und nutzen.

Muss ich noch eine andere Datei mitsenden (habe was von xla gelesen) oder geht das gar nicht was ich gern machen würde?
Aber Makros sind ja auch an die Dateien gebunden und für andere nutzbar.

Freue mich über eine funktionierende Lösung!

Viele Grüße!

Ich habe eine Toolbar erstellt und diese mit verschiedenen
Standard- und selbstgeschriebenen Buttons bestückt.
Jetzt habe ich die Datei, in der ich die Toolbar brauche,
einem Kollegen gesandt und dachte er könnte die Toolbar nun
nutzen.
Leider kann er sie nicht auswählen und nutzen.

Hallo Kristin,

xla ginge auch. Tipp bei xlas, erstelle eine normale xls, wenn da der Code stimmt speichere sie als xla. Codeänderungen immer in/an der xls und dann wieder als xla abspeichern.
Einbindung der Xla über Etras Add-In manager.

Wenn du da deine Toolbox manuell erstellt hast so steht sie auf deinem PC in der excel.xlb drinnen, d.h. dein Kollege hat sie nicht.

Meinen Code kannst du sowohl in eine xla packen und sie dem Kollegen schicken oder direkt in die Datei wo er sie braucht.

In „DieseArbeitsmappe“:

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call MenueLoeschen
End Sub

Private Sub Workbook_Open()
Call MenueErstellen
End Sub

In ein Standarmodul wie „Modul1“ o.ä.:

Option Explicit
'
Sub MenueErstellen()
Dim cmb As CommandBar, cmbp As CommandBarPopup
Call MenueLoeschen
Set cmb = Application.CommandBars("Worksheet Menu Bar")
Set cmbp = cmb.Controls.Add(Type:=msoControlPopup, Temporary:=True)
cmbp.Caption = "MeinMenue"
With cmbp.Controls.Add
 .FaceId = 263
 .Caption = "Datum anzeigen"
 .OnAction = "Datum"
End With
With cmbp.Controls.Add
 .FaceId = 567
 .Caption = "Uhrzeit anzeigen"
 .OnAction = "Uhrzeit"
End With
With cmbp.Controls.Add
 .FaceId = 678
 .Caption = "Benutzer anzeigen"
 .OnAction = "Benutzer"
End With
With cmbp.Controls
 .Add Type:=msoControlButton, ID:=113
 .Add Type:=msoControlButton, ID:=114
 .Add Type:=msoControlButton, ID:=115
End With
End Sub
'
Sub MenueLoeschen()
Dim cmb As CommandBar, cmbp 'As CommandBarPopup
Set cmb = Application.CommandBars("Worksheet Menu Bar")
On Error Resume Next
For Each cmbp In cmb.Controls
 If cmbp.Caption = "MeinMenue" Then cmbp.Delete
Next cmbp
On Error GoTo 0
End Sub
'
Sub Datum()
MsgBox Date
End Sub
'
Sub Uhrzeit()
MsgBox Time
End Sub
'
Sub Benutzer()
MsgBox Environ("Username")
End Sub

Gruß
Reinhard

xla ginge auch. Tipp bei xlas, erstelle eine normale xls, wenn
da der Code stimmt speichere sie als xla. Codeänderungen immer
in/an der xls und dann wieder als xla abspeichern.
Einbindung der Xla über Etras Add-In manager.

Hallo Reinhard,

Okay, habe es ewig versucht und es geht nicht.
Die xla-Lösung hörte sich gut an.
Habe eine leere Excel genommen, Makros reingeschrieben, neue Toolbar erstellt und das ganze als .xla gespeichert.
Habe das einem Kollegen gesandt, gesagt er soll über Tools/Add-Ins dieses auswählen (funktionierte auch) und dann über View/Toolbars diese eigen erstellte Toolbar aktivieren.
Leider steht diese dann aber nciht in der Liste.

Deine Lösung mit der xlb Datei bzw. dem langen Code - das verstehe ich nicht. Kann dir nciht ganz folgen, habe es probiert aber so fit bin ich dann doch nicht in XLS…

Hast du noch Tipps für die xla-Lösung?

hallo Kristin,

xla ginge auch. Tipp bei xlas, erstelle eine normale xls, wenn
da der Code stimmt speichere sie als xla. Codeänderungen immer
in/an der xls und dann wieder als xla abspeichern.
Einbindung der Xla über Etras Add-In manager.

Okay, habe es ewig versucht und es geht nicht.

Verstehe ich nicht, wenn du dieses Bild oder ein ähnliches siehst, klickst du in das Kästchen neben den namen der xla.
http://www.bilder-space.de/show.php?file=02.11meFNo3…
Falls der Name nicht in der Liste steht, über den Biutton "Durchsuchen die xla auf der Festplatte suchen.
Im Bild sieht man vbePLUSde, dahinter verbirgt sich eine vbePLUSde.xla, wie man auch im VB-Editor sehen kann.

Deine Lösung mit der xlb Datei bzw. dem langen Code - das
verstehe ich nicht. Kann dir nciht ganz folgen, habe es
probiert aber so fit bin ich dann doch nicht in XLS…

? Das hat beides nix miteinander zu tun.
Wenn du deine Excel.xlb, vielleicht heißt sie bei dir auch Excel11.xlb, ist ja prinzipiell egal, löschst, so erstellt Excel sie wieder neu, Excel hat dann die Symbolleisten wie nach der Erstinstallation.
Deine Toolbar mußt du dann wieder neu basteln.

Mein Code in eine leere Mappe schreiben, speichern, schließen, öffnen, nun hast du oben einen neuen Menuepunkt hinter dem sich 5 Einzelsymbole verbergen.
Nach Schließung der Mappe sollte er wieder verschwunden sein.

Diese mappe kannst du so versenden oder auch als xla abspeichern und versenden.

Gruß
Reinhard

Okay, habe es ewig versucht und es geht nicht.

Verstehe ich nicht, wenn du dieses Bild oder ein ähnliches
siehst, klickst du in das Kästchen neben den namen der xla.
http://www.bilder-space.de/show.php?file=02.11meFNo3…
Falls der Name nicht in der Liste steht, über den Biutton
"Durchsuchen die xla auf der Festplatte suchen.

Ja, das habe ich getan, ja ich sehe meine xla dort, aktiviere Sie und bestätige. Dann ist die Toolbar allerdings nicht sichtbar und auch wenn ich über view/Toolbars meine Toolbar auswählen möchte ist sie nicht verfügbar!!!
Bei der Erstellung bin ich wie beschrieben vorgegangen.

Deine Lösung mit der xlb Datei bzw. dem langen Code - das
verstehe ich nicht. Kann dir nciht ganz folgen, habe es
probiert aber so fit bin ich dann doch nicht in XLS…

? Das hat beides nix miteinander zu tun.

Ich weiß, dass das beides nichts miteinander zu tun hat. Aber als das mit der xla nicht ging, habe ich den anderen Weg auch probiert…

Mein Code in eine leere Mappe schreiben, speichern, schließen,
öffnen, nun hast du oben einen neuen Menuepunkt hinter dem
sich 5 Einzelsymbole verbergen.

Nein, geht bei mir so nicht.

Diese mappe kannst du so versenden oder auch als xla
abspeichern und versenden.

Das wäre ja mein Ziel!

Nur nochmal der Vollständigkeit wegen:
Habe Office 2003 mit SP3

Viele Grüße!

Mein Code in eine leere Mappe schreiben, speichern, schließen,
öffnen, nun hast du oben einen neuen Menuepunkt hinter dem
sich 5 Einzelsymbole verbergen.

Nein, geht bei mir so nicht.

Hallo Kristin,

doch, das geht. Ich habs testen lassen von netten Leuten die XL2003 haben und auch viel besser in Vba sind als ich, die hätten Fehler entdeckt:

http://www.hostarea.de/server-11/November-fd5294cab5…

Es hat problemlos funktioniert.

Nochmals zu xla, da ist nix groß Geheimnisvolles dran, für mich sind das völlig normale xls dateien.
Sie werden halt ausgeblendet aufgerufen und man kann sie im Add-In Manager einbinden.

Gruß
Reinhard

Grüezi Kristin

mittlerweile kann ich auch schon einiges über Makros und VBA
realisieren, jedoch komme ich diesmal nicht weiter.

Ich habe eine Toolbar erstellt und diese mit verschiedenen
Standard- und selbstgeschriebenen Buttons bestückt.
Jetzt habe ich die Datei, in der ich die Toolbar brauche,
einem Kollegen gesandt und dachte er könnte die Toolbar nun
nutzen.
Leider kann er sie nicht auswählen und nutzen.

Muss ich noch eine andere Datei mitsenden (habe was von xla
gelesen) oder geht das gar nicht was ich gern machen würde?

Du musst bloss noch die neue Toolbar an die Datei binden in der die Makros auch sind.

Die Toolbar hast Du vermutlich erstellt über Extras/Anpassen/Register: ‚Symbolleisten‘/[Neu]

und dann die Buttons erstellt und mit den Makros verbunden.

Im selben Dialog gibts noch einen Button [Hinzufügen] - klicke diesen an wenn die Mappe geöffnet ist, wähle deine neu erstellte Toolbar aus und klicke auf [>].
Speichere und schliesse dann die Mappe.

Nun kannst Du sie versenden und der Empfänger erhält die Toolbar mit der Mapppe und kann sich auch nutzen.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -