Makros von Excel 32 bit in 64 bit verwenden
#1
Hallo, ich habe mein Office gerade von 2019 auf Office 2024 aktualisiert. Leider bekomme ich jetzt beim Start Fehlermeldungen:

"Fehler beim Kompilieren: Der Code in diesem Projekt muss für die Verwendung auf 64-Bit-Systemen aktualisiert werden.
Überarbeiten und aktualisieren Sie Declare-Anweisungen, und markieren Sie mit dem PtrSafe-Attribut."

Ich habe viele Makros, die ich im Laufe der Jahre gesammelt habe, weiß aber leider nicht, wie ich die umarbeiten kann.
Vielleicht kann mir jemand einen Tipp geben.
Gruß Günther
________________________________________________________________
Windows 11 Pro Version 24H2 • Microsoft Office Professional 2024 - 64 bit
Antworten Top
#2
Moin!
Dann sei mal froh, dass Du nicht auf einen Mac umgestiegen bist. Wink
Schließlich geht es hier um APIs (und nur um diese).
Hat die MsgBox keinen Hilfe-Button?
Für die Nutzung auf 64-Bit-Systemen muss der Code in diesem Projekt aktualisiert werden | Microsoft Learn

Fragt sich Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Karthagos
Antworten Top
#3
Hallo Günther,

wenn du schreibst, daß du die Code-Snippets "gesammelt" hast, gehe ich mal davon aus, daß du noch Anfänger im Bereich VBA bist. VBA API-Aufrufe sind aber per se nichts für Einsteiger und es ist auch nicht damit getan, einfach mal das Schlüsselwort PtrSafe bei den Deklarationen zu ergänzen, auch die Übergabeparameter inkl. der Datenstrukturen müssen ggf. angepasst werden. Möglicherweise sind die API-Aufrufe auch noch veraltet und müssten durch neuere ersetzt werden.

Vielleicht solltest du in dem Fall über eine ext. Hilfe nachdenken, die dich in deinem Vorhaben unterstützt. Wenn das einige Aufrufe sind, sprengt das auf jeden Fall den Rahmen von üblichen Hilfestellungen in einem Forum, mal ganz abgesehen von den notwendigen Tests für deinen "gesammelten"Code.

Knobbi38
[-] Folgende(r) 1 Nutzer sagt Danke an knobbi38 für diesen Beitrag:
  • Karthagos
Antworten Top
#4
Hallo Knobbi38, danke für Deine Ausführungen.
Ja, ich wäre damit überfordert, würde aber die Makros gerne weiternutzen, weil meine ganze Excel-Nutzung darauf abgestimmt ist, obwohl ich als Rentner nicht mehr der Power-User bin.
Hast Du einen Tipp, wer mir das zu überschaubaren Kosten realisiert?
Die Tests könnte ich dann ja immer selbst ausführen und Feedback geben, so habe ich das beim Erstellen früher auch gemacht.
Gruß Günther
________________________________________________________________
Windows 11 Pro Version 24H2 • Microsoft Office Professional 2024 - 64 bit
Antworten Top
#5
(08.12.2025, 17:18)Karthagos schrieb: Hallo Knobbi38, danke für Deine Ausführungen.
Ja, ich wäre damit überfordert, würde aber die Makros gerne weiternutzen, weil meine ganze Excel-Nutzung darauf abgestimmt ist, obwohl ich als Rentner nicht mehr der Power-User bin.
Hast Du einen Tipp, wer mir das zu überschaubaren Kosten realisiert?
Die Tests könnte ich dann ja immer selbst ausführen und Feedback geben, so habe ich das beim Erstellen früher auch gemacht.

Volti hat hier zum Thema ein Tool veröffentlicht, dass Dir zwar die Arbeit nicht abnimmt., aber mit dem Du so nach und nach Deine Makros entsprechend anpassen kannst.
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.

Ciao, Ralf

[-] Folgende(r) 1 Nutzer sagt Danke an Ralf A für diesen Beitrag:
  • Karthagos
Antworten Top
#6
Wir haben hier ja ein paar API-Cracks (Knobbi [und volti] gehören dazu, ich eher nicht).
Dennoch weiß ich aus Erfahrung, dass die Umstellung in der Regel einfach ist.

Poste doch einfach mal so ein Makro!
Weniger als "funktioniert immer noch nicht" kann schließlich nicht dabei herauskommen.
Als Rentner wirst Du ja kaum für die nächste Artemis-Mission verantwortlich sein. Smile

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
[-] Folgende(r) 1 Nutzer sagt Danke an RPP63 für diesen Beitrag:
  • Karthagos
Antworten Top
#7
Hallo Günther,

das vorgeschlagene Tool ermöglicht auch eine teilautomatische Umsetzung der Declares über die Zwischenablage.

Aber man muss auch je nach Code auch in diesem ggf. Anpassungen machen, die schon ein gewisses Verständnis voraussetzen. Ist meistens aber einfach.

Aus Erfahrung weiß ich, dass, auch wenn man viele Subs nutzt, die Anzahl der verwendeten API-Funktionen sich meistens im Rahmen hält.

Als Rentner helfe ich gern einem Rentner bei der Umsetzung. Stelle doch einfach mal den entsprechenden Code oder Teile davon hier ein oder lade eine Datei mit den gesammelten Subs/Funktionen hier hoch. Dann kann man schauen, was zu machen ist.

Gruß
Karl-Heinz
[-] Folgende(r) 2 Nutzer sagen Danke an volti für diesen Beitrag:
  • knobbi38, Karthagos
Antworten Top
#8
(08.12.2025, 17:18)Karthagos schrieb: Ja, ich wäre damit überfordert, würde aber die Makros gerne weiternutzen, weil meine ganze Excel-Nutzung darauf abgestimmt ist, obwohl ich als Rentner nicht mehr der Power-User bin.

Nun, wenn Du Rentner bist und viel Zeit und Lust hast, dann kannst Du Dich lange damit beschäftigen den API-Code auf 64-bit umzuschreiben.
Compatibility between the 32-bit and 64-bit versions of Office | Microsoft Docs

Sinnvoll ist das jedoch nicht, in 90% aller Fälle ist es besser einfach die 32-bit Variante von Office zu installieren.
Choose between the 64-bit or 32-bit version of Office - Office Support

64-bit ist langsamer als 32-bit und bietet auch ansonsten keine bahnbrechenden Vorteile, man kann nur mehr Speicher adressieren und daher wirklich große Dateien (über 100Mb) öffnen.
Da aber selbst mit 32-bit bis zu 4Gb RAM benutzt werden können ist das für fast alle User nie ein Thema.

Andreas.
[-] Folgende(r) 1 Nutzer sagt Danke an Andreas Killer für diesen Beitrag:
  • Karthagos
Antworten Top
#9
Hallo Günther,

Es geht zum einen um die in Deinem Projekt rot markierten Codeteile, mit etwas Glück nur um diese.
Zum anderen, also mit etwas weniger Glück, sind davon ggf. auch Variablendeklarationen in den Makros und Modulen betroffen.

Deswegen ist es eben wichtig, dass wir Deine codes sehen.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • Karthagos
Antworten Top
#10
Im Editor:
alle Code 'auskommentieren'

Suche 
Private Declare * Lib

Dort muss man anpassen und danach die 'Kommentar'zeichen löschen.
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Karthagos
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste