Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro startet nicht in Personal.xlsb

Forumthread: Makro startet nicht in Personal.xlsb

Makro startet nicht in Personal.xlsb
18.11.2020 10:19:35
rudd68
Hallo,
in einer Datei xyz2020.xlsm hat ein Monat vier Arbeitsblätter. Am Monatsende werden diese kopiert, umbenannt, teilweise geleert und zahlreiche Kopier- und Formatiertätigkeiten (bisher manuell) ausgeführt. Am Jahresende wird diese Datei für das nächste Jahr xyz2021.xlsm gespeichert, die Arbeitsblätter für Januar-November werden gelöscht, der Dezember wird kopiert auf den Januar und dann wird der Dezember gelöscht. Dafür erstelle ich gerade ein Makro 'NeuerMonat'.
Damit es schnell und leicht gestartet werden kann, legte ich es in Excel2016 in die Schnellstartleiste. Leider startet das Icon nicht das Makro in der aktuellen Datei z.B. xyz2021.xlsm, sondern verlangt immer die alte Datei xyz2020.xlsm.
Ich kopierte das Makro aus der xyz2020.xlsm in die Personal.xlsb und konnte es einige Zeit für beide Dateien nutzen (ThisWorkbook Zugriffe änderte ich provisorisch in Mappe Zugriffe, wobei Mappe mit SET Mappe = ActiveWorkbook erzeugt wird).
Um nicht das Makro, welches ganze Arbeitsblätter löscht, mit den Originaldaten weiter zu entwickeln, erstellte ich aus xyz2020.xlsm eine Entwicklungskopie xyzE2020.xlsm. Das Makro entwickelte ich in der Personal.xlsb weiter. Nun kommt, egal welche Datei ich öffne, beim Start des Makros über die Schnellstartleiste stets: "Das Makro Personal.xlsb!NeuerMonat konnte nicht ausgeführt werden. Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar, oder alle Makros wurden deaktiviert."
Die Personal.xlsb ist geladen, das Makro steht da drin, die Makros wurden nicht deaktiviert, den (doppelten) Makronamen in der xyzE2020.xlsm habe ich umbenannt, damit er in der Personal.xlsb einmalig ist - der Fehler bleibt und ich komme nicht weiter.
Danke für Hilfen.
Rainer
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro startet nicht in Personal.xlsb
18.11.2020 10:41:15
ralf_b
dann entferne den Eintrag aus der Schnellstartleiste und füge ihn neu hinzu.
AW: Makro startet nicht in Personal.xlsb
18.11.2020 10:53:15
rudd68
Habe das Makro aus der Personal.xlsb erneut in die Schnellstartleiste gesteckt. Das hilft nicht. Wäre auch nicht gut, wenn unbedarfte Nutzer jedes Jahr die Schnellstartleiste ändern müssten.
AW: Makro startet nicht in Personal.xlsb
18.11.2020 10:59:01
ralf_b
muß die datei denn ein Jahr im Namen haben? Für mehrjährig nutzbare Codes macht das keinen Sinn.
Ich bin sicher das benötigte Datum kann man auch anderweitig herholen.
Anzeige
AW: Makro startet nicht in Personal.xlsb
19.11.2020 00:43:33
rudd68
Danke erstmal für deine Tipps. Die Jahreszahl habe ich in der Datei als Eingabezelle, sie wird im Dateinamen nicht benötigt. Sie diente eher für die Unterscheidbarkeit im Explorer.
Dennoch betrachte ich deinen Tipp eher als Notlösung:
1. Bevorzuge ich es, wenn Software das macht was ich möchte und nicht andersrum.
2. Müsste ich zwei übergeordneten Personen erklären, dass wir die Datei umbenennen, nur weil ich ein Makro nicht zum laufen bekomme.
3. Es ist denkbar, wenn auch unwahrscheinlich, dass wir mal mit zwei Dateien parallel arbeiten (eine Alternative erstellen), die müssten sich dann doch im Dateinamen unterscheiden, bei den Arbeitsblättern hat es dies wegen Corona schon gegeben (weil bisherige Planungssystematiken nicht mehr geeignet waren).
4. Es ist ein Workaround, aber die eigentliche Ursache, warum die Personal.xlsb streikt, bleibt unklar.
Wie kann ich denn prüfen, ob "alle Makros deaktiviert wurden"? Und gilt diese mir unbekannte Einstellung nur für die Datei oder für die Excel-Instanz?
Rainer
Anzeige
AW: Makro startet nicht in Personal.xlsb
19.11.2020 09:31:40
ralf_b
Moin Rainer,
Ich wollte dir nur helfen. Habe nicht behauptet die Lösung deines Problemes zu kennen. Wem du Rechenschaft ablegen mußt oder auch nicht interessiert mich so gar nicht.
Das die Makros in der Schnellstartleiste mit dem Dateinamen gespeichert werden ist nun klar.
Wenn es nicht mehr in der Ursprungsdatei vorhanden ist, kommt eine entsprechende Fehlermeldung. Aber nicht die das die Makros deaktiviert wurden.
Da scheint ein Rechtevergabe-Problem zu existieren. Thema Makrosicherheit oder Zugriffsrechte auf Xlstart oder sonst was. Das kann ich so nicht nachvollziehen.
Deshalb bin ich raus und überlasse Anderen das Feld.
Gruß
RB
Anzeige
AW: Makro startet nicht in Personal.xlsb
20.11.2020 02:30:27
rudd68
Ich bin dankbar für deinen Tipp und wollte dich mit meinem Post nicht brüskieren. Sorry. Ich wollte nur begründen, warum ich es als Notlösung sehe, und zum Ausdruck bringen, dass mich die eigentliche Ursache interessiert.
Ich habe mal ein bisschen rumprobiert:
In der Personal.xlsb stand noch ein älteres Makro rum, welches über die Excel2016-Schnellstartleite gestartet werden konnte. Schlussfolgerung: Die Personal.xlsb ist verfügbar und es kann darauf zugegriffen werden. Wenn Makros nicht gefunden werden, müsste es an diesen Makros selbst liegen.
Eine von mir definierte Funktion hatte ich in die Personal.xlsb kopiert - und konnte sie in einer normalen xls-Datei nicht nutzen. Deshalb fügte ich in die Personal.xlsb ein:
Private Sub Workbook_Open()
IsAddin = True
End Sub
Für die Funktion hat es zwar nicht geholfen, aber genau seit dem Setzen dieser Eigenschaft funktioniert mein Makro wieder über die Schnellstartleiste und damit für verschiedene Dateien. Toll. Ich weiß zwar nicht, was das Eine mit dem Anderen zu tun hat, aber es funktioniert.
(Habe nun auch gelesen, dass ich meiner Funktion den Dateinamen voranstellen muss oder sie als Addin einbinden muss).
Rainer
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Makroprobleme in Personal.xlsb lösen


Schritt-für-Schritt-Anleitung

  1. Überprüfen der Makrosicherheit: Stelle sicher, dass deine Excel-Makros aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option für die Ausführung aller Makros.

  2. Personal.xlsb prüfen: Vergewissere dich, dass die Datei Personal.xlsb tatsächlich geladen ist. Diese Datei wird im Hintergrund verwendet, um Makros global zur Verfügung zu stellen. Wenn personal.xlsb nicht geladen wird, kann das dazu führen, dass das Makro nicht gefunden wird und die Fehlermeldung "Das Makro ist möglicherweise in dieser Arbeitsmappe nicht verfügbar" erscheint.

  3. Makro in Schnellstartleiste hinzufügen: Entferne das Makro aus der Schnellstartleiste und füge es erneut hinzu, um sicherzustellen, dass der Verweis auf die korrekte Datei besteht.

  4. Makro anpassen: Überprüfe den Code des Makros. Achte darauf, dass der Code keine spezifischen Verweise auf die alte Datei enthält. Nutze ActiveWorkbook statt ThisWorkbook, um sicherzustellen, dass das Makro in der aktuellen Arbeitsmappe funktioniert.

  5. Workbook_Open-Ereignis: Füge in der Personal.xlsb das folgende Ereignis ein, um sicherzustellen, dass die Datei beim Start von Excel korrekt initialisiert wird:

    Private Sub Workbook_Open()
       IsAddin = True
    End Sub

Häufige Fehler und Lösungen

  • Personal.xlsb wird nicht geladen: Wenn die Datei nicht geladen ist, wird das Makro nicht gefunden. Stelle sicher, dass du die Datei beim Start von Excel öffnest.

  • Das Makro kann nicht ausgeführt werden: Diese Fehlermeldung tritt auf, wenn das Makro nicht vorhanden ist oder die Makros deaktiviert sind. Überprüfe die Makrosicherheit und lade die Personal.xlsb.

  • Makro in Arbeitsmappe nicht verfügbar: Wenn du die Fehlermeldung erhältst, dass das Makro möglicherweise in dieser Arbeitsmappe nicht verfügbar ist, kann das daran liegen, dass es einen Konflikt mit dem Makronamen gibt oder dass der Code nicht korrekt ist.


Alternative Methoden

  • Verwendung von Add-Ins: Wenn du das Makro häufig verwendest, könntest du es als Add-In speichern. Dies ermöglicht eine einfachere Verwaltung und Verfügbarkeit. Speichere die Datei als .xlam und füge sie in Excel hinzu.

  • Direktes Einfügen des Codes: Statt das Makro in Personal.xlsb zu speichern, kannst du es direkt in die Arbeitsmappe einfügen, in der es verwendet werden soll. Dies kann helfen, Verwirrung über die Verfügbarkeit des Makros zu vermeiden.


Praktische Beispiele

Angenommen, du hast ein Makro namens NeuerMonat, das das aktuelle Arbeitsblatt kopiert und umbenennt. Hier ist ein Beispielcode:

Sub NeuerMonat()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Dezember")
    ws.Copy After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)
    ActiveSheet.Name = "Januar"
End Sub

Wenn du dieses Makro in Personal.xlsb speicherst, kannst du es in jeder Arbeitsmappe verwenden, solange die Personal.xlsb geladen ist.


Tipps für Profis

  • Vermeide Namenskonflikte: Achte darauf, dass die Namen der Makros in Personal.xlsb einzigartig sind, um Verwirrung zu vermeiden.

  • Regelmäßige Sicherung: Mache regelmäßig Backups deiner Personal.xlsb, um sicherzustellen, dass du keine wichtigen Makros verlierst.

  • Verwendung von Kommentaren: Kommentiere deinen Code ausführlich, damit du bei Änderungen oder Fehlerbehebungen schneller nachvollziehen kannst, was jeder Teil des Codes bewirken soll.


FAQ: Häufige Fragen

1. Warum wird meine Personal.xlsb nicht geladen?
Wenn Excel nicht mit der Personal.xlsb startet, kann das an falschen Einstellungen oder einem Fehler in der Datei liegen. Überprüfe deine Excel-Startoptionen.

2. Was kann ich tun, wenn mein Makro nicht funktioniert?
Überprüfe die Makrosicherheitseinstellungen und stelle sicher, dass das Makro in Personal.xlsb korrekt definiert ist.

3. Wie kann ich sicherstellen, dass mein Makro in verschiedenen Arbeitsmappen funktioniert?
Nutze ActiveWorkbook in deinem Makro, um sicherzustellen, dass es auf die aktuelle Arbeitsmappe zugreift und nicht auf eine spezifische Datei.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige