Freigeben über

Excel 365 Makro bricht nach 70 Eingaben plötzlich ab. Bei Excel 2010 klappt es...

Anonym
2020-01-13T08:12:48+00:00

Hallo liebes Forum,

bezugnehmend zum Thread https://www.herber.de/forum/archiv/1732to1736/t1733621.htm will ich hier im Forum auch einmal mein Problem schildern! 

Wir haben eine kleine Eingabemaske um eine Kundennummer und einen Preis einzugeben. Ich gebe also in diese Form die beiden Werte ein und drücke Enter. Die beiden Werte werden in einer neuen Excelzeile abgelegt. Das war schon alles.

Das Problem ist, dass ich diesen Vorgang 69 Mal machen kann und beim 70. Mal bricht er an einer unkritischen Programmstelle einfach ab.

Die Stelle ist absolut unproblematisch.

Ich habe mal den Befehl "Unload Me" oben ausgeschaltet und statt dessen HIDE eingebaut, aber trotzdem bricht Excel nach 70 Eingaben ab.

Jetzt ist es so, dass das Programm ohne Problem auf meinem Windows 7 Rechner mit Excel 2010 läuft. Es bricht also NICHT nach 70 Eingaben ab.

Ich bin von Hause aus ein erfahrener Programmierer aber in ABAP und nicht in VBA. Ich habe das Coding durchdebuggt und hatte erst den Unload Me in Verdacht. Aber den habe ich ausgeschaltet und das Problem blieb.

Da es unter Excel 2010 problemlos läuft schließe ich auf Probleme mit der Umstellung auf Excel 365 auf anderem Windows 10 Rechner. Oder aber dass sich im VBA einige Befehle anders verhalten. Ein Fehler nach 69 erfolgreichen Durchläufen und dann der Fehler kann ich mir mit einem Programmierfehler eher nicht erklären. Es ist auch so dass ich das Programm wieder starte und weitere 70 Eingaben mache und dann bricht Excel wieder ab. Keine Fehlermeldung, nix...

Habe Office 365 upgedatet. Habe Datei von xls in xlsm umgewandelt. Immer noch Fehler.

Hat iregend jemand eine Idee!? Es kann ja nur an den unterschiedlichen Excelversionen liegen....!?

Ich bitte einmal nach eine Einschätzung dieses Fehlers und den Möglichkeiten es zu lösen.

Also unter Excel 2010 gab es nach ca. 300 Eingaben auch schon mal einen Dump. Den würde ich auch auf unsaubere Programmierung schieben. Dann war aber immer ein Popup von Excel da: Debugger: Fehler xy …

Da kann ich dann ja gezielt nach Fehlern suchen!

Ist dieses Fehler-Debugg-Popup bei Excel 365 vielleicht defaultmäßig abgeschaltet!? Wenn ja, wie kann man es wieder einschalten!? Excel bringt ja keine Fehlermeldung.

Bei diesem Fehler hier ist es exakt nach 70 Eingaben und an einer Stelle die vorher 69 mal sauber durchlaufen wurde.

Gibt es irgendetwas, was Excel 365 anders macht. Ist das VBA zu dieser Excelversion anders!? Liegt es an der VBA Version, An Windows 10!?

Ich kann den Fehler schlecht einschätzen...

Bietet MS ein Forum für solche Versionswechselprobleme!?

Also es gibt folgende Möglichkeiten:

1.) Es liegt an Excel 365

2.) Es liegt an einer neueren VBA-Version

3.) Irgendwelche temporären Libraries vertragen sich mit dem alten Coding nicht

4.) Liegt es wirklich an der unsauberen Programmierung!?

a) Kann die CombiBox eine Ursache sein!? Die baue ich regelmäßig neu auf. Unsauber, aber funktioniert...

5.) Muss das VBA-Coding neu compiliert werden oder etwas ähnliches!?

6.) Liegt es an Windows 10 oder der Kombination Windows 10 mit Excel 365!?

7.) Gibt es einen Grund für den Abbruch nach 70?! Evtl. kann VBA nur 70 Instanzen verwalten... was weiss ich...!? Wenn es ein Ressourcenproblem wäre so käme der Fehler ja mal nach 68 oder auch 72 Eingaben...

Office 365 habe ich übrigens frisch upgedatet!

Frage:

Excel bricht ja an besagter Stelle einfach ab ohne irgendeine Fehlermeldung. Kann ich das ändern? Ist das dieses "on error"!? Mit einer aussagekräftigen Fehlermeldung könnte ich ja was anfangen. Und dann gezielt den Fehler beheben!

Welches Punkt oben haltet ihr für am wahrscheinlichsten!? 

Ich stelle jetzt mal das File online.

Hier ist es:

https://www.herber.de/bbs/user/134342.xls

Um den Fehler zu reproduzieren müsst ihr folgendes tun:

Das Excel File mit Excel 365 oder einem anderen Excel öffnen.

Bei mir kommt der Fehler bei Excel 365 und bei Excel 2010 kommt er nicht.

Dann im Sheet „Allgemein“ auf den Button „Einnahmen eingeben“ drücken.

Dann unter Teilnehmer 1 eingeben.

Enter

Dann den Verkaufserlös 1 eingeben.

Enter – damit steht der Cursor auf dem Button „übernehmen“.

Nochmal Enter

Excel springt in das Sheet „Einnahmen“ und fügt in Zeile 2 eine neue Zeile ein.

Jetzt habe ich das Programm abgespeckt hier für die Fehlersuche. Man braucht jetzt nur noch 69 mal Enter zu drücken. Normalerweise müsste man ja 69 mal wieder die 1 und nochmal die 1 eingeben. Der Fehler kommt aber leider trotzdem.

Also: Jetzt 69 mal Enter drücken! …

Wenn jetzt bis Zeile 70 die Zeilen gefüllt wurden, so geht das Programm nun in den Stop-Breakpoint den ich zum Testen mal eingebaut habe.

Ab hier könnt ihr manuell debuggen per F8.

In „Private Sub neuer_Satz_Button_Click()“ in Zeile 103 mit dem Coding „Sheets("Einnahmen").Range("B" & i).Value = CDbl(Teilnehmer_Box) + 1000“ bricht Excel dann unvermittelt und unverständlicherweise ab….

Sollte Excel bei Euch auch abbrechen… dann wäre ich für eine Rückmeldung und einen Tipp sehr, sehr dankbar.

Sollte Excel bei Euch nicht abbrechen… Dann bitte auch eine kurze Rückmeldung mit dem Hinweis auf Eure Windowsversion und Excelversion!

Das Coding habe ich selbst nicht geschrieben. Ich bin auch kein VBA Programmierer. Ich habe das Programm aktuell in meiner Obhut und habe es an einigen Stellen etwas angepasst. Ich kann wohl programmieren, aber bin in VBA dann doch nicht zuhause.

Danke für’s ausprobieren und LG MichaelDanke und LG Michael

******@gmx.de

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
{count} Stimmen

2 Antworten

Sortieren nach: Am hilfreichsten
  1. Andreas Killer 144K Zuverlässigkeitspunkte Freiwilliger Moderator
    2020-01-14T08:20:24+00:00

    Da es in dem anderen Forum ja schon genügend Spekulationen gegeben hat und Dein Resümee scheinbar "liegt an Excel 365" ist, stellt sich für mich die Frage ob das Thema erledigt ist.

    Das hängt an Unload Me und Userform1.Show in Kombination, sowie .Unprotect und .Protect sowie dem zwischenzeitlichen Speichern.

    Das alles ist überflüsssig.

    Kuck mal hier rein

    https://www.dropbox.com/s/x0o1wazwtfo4fcm/Simple_Userform.xlsm?dl=1

    Andreas.

    Eine Person fand diese Antwort hilfreich.
    0 Kommentare Keine Kommentare
  2. Anonym
    2020-01-15T09:04:06+00:00

    Hallo Andreas,

    danke für Deine Zeit! Ich hab die unloads und die shows rausgebaut und es klappt nun auch. Schön dass es Leute wie Euch gibt! LG Michael

    0 Kommentare Keine Kommentare