@Reinhard "Wo gehören Makros hin?"

Hallo Reinhard,

ich hab mal vor gefühlten 10 Jahren einen Artikel von Dir gelesen, wo Du sehr schön beschreibst, wo Makros im VBA-Editor hingehören.

Ich finde ihn nicht mehr—:frowning:

Ich benutze noch immer EXCEL2002 und hab mich gerade heillos verheddert mit Makros und benutzerdefinierten Symbolleisten.
Im Archiv habe ich schon geschaut, aber die Flut an Einträgen verhindert ein Finden.

Kannst Du mir helfen?

Feedback versprochen!

Ullrich Sander

Darf ich evtl. auch antworten?
Hallo Ullrich,

das scheinen mir doch zwei verschiedene Dinge zu sein:

  1. In welche Module gehören welche Makros
  2. Wie geht das mit Benutzerdefinierten Symbolleisten.

Zu 1 lässt sich ohne konkretes Beispiel relativ viel sagen (und sicher auch im WWW finden).
Zu 2 lässt sich ohne konkretes Beispiel relativ wenig sagen.
Es wäre also gut du könntest deine Probleme genauer schildern, evtl. in Verbindung mit einer hochgeladenen Beispielmappe.

Gruß, Andreas

Hallo Andreas,

zunächst danke, dass Du Dich mit meinem Problem beschäftigst!

Zu 1. Habe jetzt durch ausprobieren herausgefunden, dass ich meine Makros in ein Modul legen muss.

Zu 2. Ich habe folgendes Problem:

Dienstplantabellen für je einen Monat in je einer Datei. Diese sind identisch aufgebaut und sollen eine Symbolleiste haben, mit der ich verschiedene Dienste für eine Woche oder für einen Tag per Makro abrufen kann. Das funktioniert auch soweit. Wenn ich aber z.B. zuletzt die Datei für Okt./2014 bearbeitet habe und dann die Datei für den September aufrufe, so bezieht sich die Symbolleiste auf die Makros im Oktober und will diese Datei öffnen.

Speichere ich aber die Datei September unter neuem Namen für Oktober ab, so funktioniert alles wunschgemäß.

Frage daher: Wie kann ich es erreichen, dass die in jeder Datei angefügte Symbolleiste auf die in jeder Datei vorhandenen gleichen Makros zugreift?

Danke für jede Idee!

Ullrich Sander

Hallo Ullrich,

probier’s mal so:
Schreib in den „DieseArbeitsmappe“ Codebereich den Makro:

Private Sub Workbook\_Open()
 Application.CommandBars("Knofleiste").Controls("Knopf1").OnAction = "'" & DieseArbeitsmappe.FullName & "'!Makroname"
End Sub

Die Namen von Leiste, Button und Makro musst du natürlich anpassen.
Jetzt sollte beim Öffnen der Mappe der Link des Buttosn immer auf den Makro in der aktuellen Mappe gelenkt werden.

Gruß, Andreas

Hallo Andreas,

werde ich in Kürze ausprobieren. Meine Mappe habe ich schon mal weitergegeben, weil die Zeit drängte…

Gruß aus Nürnberg

Ullrich Sander