Habe heute eine Excelmappe bei einen anderen PC geöffnet.
Da kamm dann dieser Fehler

Ich verstehe leider nur Bahnhof.
Gruß
Heinz

#If Win64 Then
Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#Else
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#End If
Prüfe die Excel-Version: Stelle sicher, dass Du die richtige Version von Excel verwendest. Bei 64-Bit-Systemen solltest Du die 64-Bit-Version von Excel verwenden.
Bedingte Kompilierung nutzen: Um den Fehler zu umgehen, kannst Du die bedingte Kompilierung in VBA verwenden. Füge folgenden Code in Dein Modul ein:
#If Win64 Then
Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#Else
Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
#End If
Variablen anpassen: Achte darauf, dass Du LongPtr anstelle von Long verwendest, wenn Du mit 64-Bit arbeitest.
Code kompilieren: Kompiliere den Code über Debug > Kompilieren und überprüfe, ob der Fehler weiterhin besteht.
Fehler 64 beim Kompilieren: Dies passiert häufig, wenn Du eine 32-Bit-Funktion in einer 64-Bit-Umgebung verwendest. Stelle sicher, dass Du die richtige Deklaration für 64-Bit verwendest.
Compilerfehler in ausgeblendetem Modul: Dieser Fehler deutet darauf hin, dass der Code nicht kompatibel ist. Überprüfe die Verwendung von LongPtr und die Deklaration der Funktionen.
Fehler bei der Verwendung von API-Funktionen: Falls Du API-Funktionen nutzt, stelle sicher, dass Du die Lib "user32" korrekt deklariert hast.
Verwendung von 32-Bit Excel: Wenn Du auf einem 64-Bit-Betriebssystem arbeitest, kannst Du auch die 32-Bit-Version von Excel installieren, um Kompatibilitätsprobleme zu vermeiden.
WOW64 nutzen: Windows bietet eine Kompatibilitätsumgebung namens WOW64, die es 32-Bit-Anwendungen ermöglicht, auf 64-Bit-Betriebssystemen zu laufen.
Angenommen, Du möchtest die Größe des Arbeitsbereichs ermitteln. Hier ist ein Beispielcode:
Sub BeispielGetSystemMetrics()
Dim breite As Long
breite = GetSystemMetrics(0) ' 0 für die Breite des Arbeitsbereichs
MsgBox "Die Breite des Arbeitsbereichs beträgt: " & breite
End Sub
Stelle sicher, dass Du die bedingte Kompilierung wie oben beschrieben verwendest, um den Fehler 64 zu vermeiden.
Nutze die PtrSafe-Deklaration: Bei der Verwendung von 64-Bit-Excel ist es wichtig, die PtrSafe-Deklaration hinzuzufügen, um sicherzustellen, dass Dein Code auch in zukünftigen Versionen funktioniert.
Debugging-Tools verwenden: Nutze die integrierten Debugging-Tools in Excel, um Deinen Code Schritt für Schritt zu überprüfen und Fehler schnell zu identifizieren.
Dokumentiere Deinen Code: Halte Deinen Code gut dokumentiert, insbesondere wenn Du mit verschiedenen Versionen von Excel arbeitest, um Missverständnisse zu vermeiden.
1. Was ist der Unterschied zwischen 32-Bit und 64-Bit Excel?
32-Bit Excel kann nur 2 GB Arbeitsspeicher verwenden, während 64-Bit Excel deutlich mehr Speicher für rechenintensive Aufgaben nutzen kann.
2. Wie kann ich herausfinden, welche Version von Excel ich habe?
Gehe zu Datei > Konto und klicke auf Über Excel. Dort siehst Du die Versionsnummer und ob es sich um die 32-Bit oder 64-Bit-Version handelt.
3. Wie löse ich die Fehlermeldung „Kompilierungsfehler in ausgeblendetem Modul“?
Dieser Fehler entsteht oft durch Inkompatibilitäten zwischen 32-Bit und 64-Bit. Überprüfe Deine Deklarationen und stelle sicher, dass sie korrekt sind.
4. Was sollte ich tun, wenn der Fehler weiterhin besteht?
Überprüfe alle verwendeten Funktionen und deren Deklarationen. Gegebenenfalls solltest Du auch in Betracht ziehen, die 32-Bit-Version von Excel zu installieren, um Komplikationen zu vermeiden.