Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Problem mit Excel 2019 64Bit
#1
Hallo,
habe schon mit google und hier gesucht aber keine Lösung gefunden.

Ich habe vor ein paar Jahren für die kleine Firma eines Bekannten eine Anwesenheits/Ulraub/usw VBA Excel Datei gemacht.
Die lief auch sehr gut, bis ich vor kurzem einen Anruf bekam. Neue Rechner wurden angeschaft und auf diesen ist die 64bit version von Excel 2019.
Auf alten Systemen mit Excel 2010 32bit und meinem PC Zuhause mit Excel 2019 32bit läuft die Datei immernoch problemlos.

"Long" wurde bereits zu "LongPtr" geändert. "PtrSafe" wurde vor "Function" eingefügt. Andere Änderungen sind mir im moment nicht bekannt.

In Excel 2019 64bit bekommen wir "Runtime Error 40036"
Debug bringt uns zu

AltesWorkbook.Worksheets("Stammdaten").Range("B393:G411").Copy

Tabellenname und Range sind korrekt. Und auch der Rest des codes sieht wie in älteren Dateien aus.
Mehr details kann ich später posten (sind halt nicht meine privaten Dateien). Kann vielleicht jemand schon sag warum dass in 64bit nicht läuft?

Vielen Dank
Antworten Top
#2
Hallo

Muss es unbedingt 64 bit sein?

https://answers.microsoft.com/de-de/msof...8507a674a4

Gruss Guschti
Der Künstler lebt auch vom Applaus
Excel Optimaler Zuschnitt von Stangen/Balken - YouTube
Antworten Top
#3
Hallo,

wie wird AltesWorkbook gesetzt?

Gruß Uwe
Antworten Top
#4
Ich hab auch 32bit vorgeschlagen aber der Chef möchte 64bit für "Zukunftssicherheit usw".
Weiß nicht ob wir den umstimmen können, deshalb wenn irgentwie möchlich muss es in 64bit laufen Confused

(15.01.2020, 21:19)Kuwer schrieb: Hallo,

wie wird AltesWorkbook gesetzt?

Gruß Uwe

Hallo, hier der code der "Import" UserForm

Code:
Private Sub CommandButton_Beides_Click()

Unload UserForm_Import
Unload UserForm_Menu

Dim Datei As Variant
        Dim AltesWorkbook As Workbook
        Dim AkuellesWorkbook As Workbook
       
        Set AkuellesWorkbook = ThisWorkbook
       
        Application.EnableEvents = False
       
        Datei = Application.GetOpenFilename("Excel-Dateien(*.xl*),*.xl*")
        If Datei = False Then Exit Sub
        Set AltesWorkbook = Workbooks.Open(Filename:=Datei)
       
        AltesWorkbook.Worksheets("Stammdaten").Range("B393:G411").Copy
        AkuellesWorkbook.Worksheets("Stammdaten").Range("B33:G51").PasteSpecial Paste:=xlPasteValues
       
       
        AltesWorkbook.Worksheets("Stammdaten").Range("J393:J411").Copy
        AkuellesWorkbook.Worksheets("Stammdaten").Range("J33:J51").PasteSpecial Paste:=xlPasteValues
       
       

        AltesWorkbook.Worksheets("Stammdaten").Range("B3:G21").Copy
        AkuellesWorkbook.Worksheets("Stammdaten").Range("B3:G21").PasteSpecial Paste:=xlPasteValues
       
       

        Application.CutCopyMode = False
       

        AltesWorkbook.Close SaveChanges:=False
       

        Application.EnableEvents = True
               
        Set AltesWorkbook = Nothing
      

Range("A1").Activate
UserForm_Menu.Show

End Sub
Antworten Top
#5
Hallöchen,


Zitat:Auf alten Systemen mit Excel 2010 32bit und meinem PC Zuhause mit Excel 2019 32bit läuft die Datei immernoch problemlos.


ich erinnere mich daran, daß es eine Zeit gab, in der sogar MS vor dem Einsatz der eigenen 64Bit-Versionen gewarnt hat.
Inzwischen ist es wohl so, daß man die Bevölkerung immer häufiger lieber mit verschiedensten "neuen" Versionen bombardiert
anstatt einmal eine funktionierende Version zur Verfügung zu stellen.

Wäre ich Dein Chef, würde ich die 32bit Version installieren lassen. Das erspart Magengeschwüre
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#6
Hallo,

am Code sollte es nicht liegen.

Hast Du es mal in einer neuen Datei getestet, am besten mal direkt in einem allgemeinen Modul?

Gruß Uwe
Antworten Top
#7
(15.01.2020, 23:07)Kuwer schrieb: Hallo,

am Code sollte es nicht liegen.

Hast Du es mal in einer neuen Datei getestet, am besten mal direkt in einem allgemeinen Modul?

Gruß Uwe

Ja, leider gleicher Fehler
Antworten Top
#8
Hi,

habe nochmal mit den Kollegen gesprochen und der Chef möchte wirklick bei 64bit blieben.
Hat noch jemand Ideen oder Vorschläge zur Lösung des Problems?
Antworten Top
#9
Hallo,

Du könntest probieren ...

Code:
Set AltesWorkbook = Workbooks.Open(Filename:=Datei)

durch folgendes zu ersetzen ...

Code:
Application.Workbooks.Open Filename:=Datei
Set AltesWorkbook = Application.Workbooks(Application.Workbooks.Count)

Ausserdem vielleicht einmal im VBA-Editor Debuggen / Kompilieren wählen und schauen, ob dann eine Fehlermeldung erscheint.
Und, solltest Du Windows API Funktionen verwendet haben, ist es nicht nur damit getan, Long durch LongPtr usw.
zu ersetzen. Es gibt z.B. API's die unterscheiden sich tatsächlich zwischen 32 und 64 Bit.

Gruß
Microsoft Excel Expert · Microsoft Most Valuable Professional (MVP) :: 2011-2019 & 2020-2022 :: 10 Awards
https://de.excel-translator.de/translator :: Online Excel-Formel-Übersetzer :: Funktionen :: Fehlerwerte :: Argumente :: Tabellenbezeichner
Antworten Top


Gehe zu:


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