2.9k Aufrufe
Gefragt in Tabellenkalkulation von finger59 Experte (1.3k Punkte)
Hallo liebe Excel-Fangemeinde,
seid der Umstellung von Excel 2003-2007 auf Excel 2013 funktioniert ein automatischer Programmstart nicht mehr.

In meiner Datei Hauptmenue habe ich mir z.B. alle aktuellen "Geburtstagskinder" anzeigen lassen. Dazu müsste dieser Code gewesen sein:

Private Sub Workbook_Open()

Sheets("Statistik").Select
Application.ScreenUpdating = True
Application.CommandBars("Task Pane").Visible = False

Application.OnTime _
Now + TimeValue("00:00:02"), "Geburtstagsanzeige"
End Sub

So ist jedenfalls meine Vermutung, dass mit dieser Zeile
Application.OnTime _
Now + TimeValue("00:00:02"), "Geburtstagsanzeige"

das Makro Geburtstagsanzeige gestartet wird.

Als Fehlermeldung erhalte ich beim Öffnen des Hauptmenues dieses:
Das Makro Hauptmenue.xlsm!geburtstagsanzeige kann nicht ausgeführt werden. Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar oder alle Makros wurden deaktiviert.

In der Symbolleiste habe ich mir dann das Makro geburtstagsanzeige hinterlegt und wenn ich das entsprechende Symbol anklicke läuft das Programm ohne Fehler durch.

Frage: Was muss ich unternehmen, damit mir das Makro gleich startet?

Die Datei ist als xlsm gespeichert und der Eintrag des Makros sieht so aus:
'Haupt-Menue.xlsm'!Geburtstagsanzeige.Geburtstagsanzeige
Warum 2x Geburtstagsanzeige ??? bei anderen Makros ist das nicht so...

Ich danke schon mal allen Interessierten fürs lesen meiner Anfrage und hoffe, dass mir jemand von Euch einen Tipp bzw. die Lösung sagen kann, was da zu tun ist, damit das Makro automatisch startet und nicht jedes mal über den Button.

In diesem Sinne... have a nice Day... LG Helmut

6 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Helmut,

wie sind die Sicherheitseinstellungen in Excel? Standardmäßig sind die Makros deaktiviert. Wie man die Sicherheitsstufe ändert kansst du hier nachlesen.

Gruß

M.O.
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hi M.O.,

nun die Sicherheitsfrage ist bei mir auf niedrig eingestellt, da ich mit einigen Makros arbeite und mir nicht jedes mal meine persönliche Freigabe geben möchte.

Danke für einen Ansatz, aber der ist es leider nicht.

Sonst würde das Makro ja auch nicht über das Symbol starten.

D.h. das Makro läuft beim Öffnen bis zu dem Punkt

Sheets("Statistik").Select
Application.OnTime _
Now + TimeValue("00:00:02"), "Geburtstagsanzeige"

und erst nach der kurzen Wartezeit kommt dann der Hinweis, dass es nicht weitergeht...

Vielen Dank nochmals... LG Helmut
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Helmut,

gibt es in deiner Mappe eine Tabelle mit dem Namen "Geburtstagsanzeige"? Falls ja, schau mal nach ob im VBA-Projekt dieses Tabellenblatts das Makro steht. Und falls es dort steht, dann kopiere das Makro mal in ein allgemeines Modul deiner Arbeitsmappe.

Gruß

M.O.
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Guten Morgen M.O.,

vielen Dank nochmals für Deinen Tipp, wenngleich es das auch nicht war. Ein Arbeitsblatt Geburtstagsanzeige gibt es in der Datei nicht so dass dieser Hinweis auch nicht fruchten konnte.

Letztendlich habe ich mir durch folgende Aktion selber helfen können.

Die Datei Hauptmenue habe ich mir als Sicherung weggeschrieben und in der Originalen Datei das Makro Geburtstagsanzeige komplett gelöscht.

Nach dem erneuten Speichern und schließen habe ich mir das Makro aus der Sicherung kopiert und wieder in die Originaldatei als neues Modul reinkopiert und siehe da... jetzt läuft es durch.

Seltsamerweise funktionieren ein Teil der alten Makros ohne Probleme und manche bringen mir diese Meldung das das Makro nicht vorhanden wäre. Aber ok... jetzt weiß ich mir zu helfen und werde einfach die alten löschen und aus der Sicherung wieder reinkopieren und dann sollte es funktionieren.

Ich danke Dir auf jeden Fall ganz herzlich für Deine Unterstützung und wünsche Dir und allen anderen Interessierten noch einen schönen Tag und WE... LG Helmut
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Helmut,

danke für die Markierung als Lösung, obwohl ich ja nicht viel dazu beigetragen habe ;-).

Gruß

M.O.
0 Punkte
Beantwortet von finger59 Experte (1.3k Punkte)
Hallo M.O.,

ok.. Du hast mir nicht die Lösung als solche direkt schreiben können, aber letztendlich war Deine Aussage mit dem Kopieren mein Anstoss es mal so zu versuchen, wie es nun klappt.. mittlerweile habe ich jedes Makro so wieder zum Laufen gekriegt...

Manchmal sind es auch die kleinen oder banalen Dinge, die einem das Leben einfacher oder auch schwerer machen können.

Von daher... M.O. = volle Punktzahl ;-) und das sehr gerne...

In diesem Sinne... schönes WE... LG Helmut
...