Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Symbolleisten-Schaltflächen und zugewiesene Makros





Frage

Hi, ich habe hier eine Mappe mit Makros und diese Makros verschiedenen Schaltflächen in einer eigenen Symbolleiste zugewiesen. Soweit so gut. Wenn ich jedoch diese Mappe auf anderen Rechnern in einem anderen Laufwerk/Pfad ablege und ausführe, dann werden die zugewiesenen Makros nicht mehr gefunden. Die Makros sind natürlich in der betreffenden Mappe enthalten(!), aber dieses dämliche Excel scheint in der Makro-Zuweisung zu den Schaltflächen den Originalpfad (mit Laufwerk) zu speichern und macht dadurch Probleme. Wie könnte man das am besten umgehen? PS: Aus bestimmten Gründen kann ich Laufwerk/Pfad nicht überall gleich anlegen. [gau]

Antwort 1 von Guenter

Hi gau,

ich kann da nur aus meinem Excel-Buch zitieren:
Zitat:

Excel verstreut Informationen über die aktuelle Konfiguration und die Einstellung von Optionen über die ganze Festplatte. Die Fülle der Konfigurationsdateien wird von Version zu Version unübersichtlicher.

Kofler, Excel 2000

Infos über die Symbolleisten befinden sich in Excel.xlb. diese Datei enthält offenbar die Pfade zu den zugeordneten Makrofunktionen.
Dann steht da noch:
Zitat:

Es besteht die Möglichkeit, selbstdefinierte Symbolleisten mit Ansicht/Symbolleisten/Anpassen/Symbolleisten/Anfügen unmittelbar in einer Excel-Datei zu speichern. Das ist dann sinnvoll, wenn die Symbolleisten auch anderen Anwendern (womöglich auf einem anderen Rechner) zur Verfügung stehen soll.


Gruß

Günter

Antwort 2 von _gau_

Hi Günter,

danke für die Infos.

Das erste Zitat kann ich nur unterstreichen. Allgemeines Durcheinander ;-)

Das zweite hatte ich aber schon getan (Symbolleiste anfügen). Sonst wäre die Symbolleiste ja auch gar nicht mit in der Mappe gespeichert. Aber die Leiste nebst Symbolen ist vorhanden, nur die Zuordnung der Makros macht Probleme :-(

Ich habe aber mittlerweile den Tipp bekommen, die Zuweisung zur Laufzeit per VBA jedesmal neu zu machen. Am besten im Workbook.Open-Ereignis.

Ungefähr so:
Private Sub Workbook_Open()
    Application.CommandBars("Symbolleistenname").Controls("Symbolname").OnAction = "Makroname"
End Sub

Nun werden die Makros eben beim Öffnen jedesmal neu zugewiesen. Scheint ordentlich zu klappen.

Vielleicht kannst du das ja auch mal brauchen...

[gau]