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.

Laufzeitfehler 80010108
#11
Ein Kandidat für den call stack overflow.
gruß
Marco
Antworten Top
#12
Hallöchen,

mal abgesehen von der überdenkenswerten Logik, wie gesagt, schaue, dass Du die ganzen Zellzugriffe reduzierst. Im Anhang hab ich mal bisschen was gemacht, allerdings kommst Du damit höchstens schneller an die Grenze. Da gibt es auch noch weitere Reserven ...

- ich habe nicht überall Arrays eingesetzt. Befasse Dich mit dem Thema ...
- Deine Prüfungen sind codeseitig durch Parameterisierung sicher weiter zusammenfassbar
- Deine Summenbildung in Zeile 2 ist sicher bereits im Code machbar wenn Du in den Schleifen eine entsprechende Variable nutzt.
...Dann brauchst Du eventuell auch keine Null-Setzung und es reicht, die Einsen zu zählen
- welchen Sinn hat das mehrfache hochkopieren am Ende? (.Range("HB3:KW1500").Copy .Range("HB2"))
...Wird im Original danach irgendwas berechnet? Sonst würde das keinen Sinn ergeben, oder?


Angehängte Dateien
.xlsm   Test (1_002).xlsm (Größe: 279,92 KB / Downloads: 8)
.      \\\|///      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:
  • karlk
Antworten Top
#13
Hallo,

vielen Dank für die Hilfe!

Da es meine ersten Erfahrungen mit VBA sind, sind alle Tipps sehr hilfreich.

Ich werde die Punkte jetzt einzeln aufarbeiten und versuchen umzusetzten. Dank der korrigierten Version weiß ich schon mal in welche Richtung es gehen soll.

Das hochkopieren hat den Hintergrund, die Daten des nächsten Auftrages, welcher berechnet wird, in Zeile 2 zu schreiben. Die Daten des aktuellen Auftrages wurden fertig übertragen und werden nicht mehr benötigt.  Der Kopiervorgang wird schneller von Excel umgesetzt als den Bereich zu löschen, so mein Eindruck.

Zusätzlich werde ich mich auch noch mit den Thema Stack Overflow befassen, hier habe ich leider einen größeren Anfängerfehler produziert. Da ich immer das nächste Makro aufrufe schließt der alte Stack nicht ab und irgendwann ist die Grenze erreicht. So war mir das leider nicht bewusst.

Sollten sich weitere Frage ergeben, melde ich mich Smile

Nochmals Danke und viele Grüße
Antworten Top
#14
Hallöchen,

Zitat:Das hochkopieren hat den Hintergrund, die Daten des nächsten Auftrages, welcher berechnet wird, in Zeile 2 zu schreiben. Die Daten des aktuellen Auftrages wurden fertig übertragen und werden nicht mehr benötigt. Der Kopiervorgang wird schneller von Excel umgesetzt als den Bereich zu löschen, so mein Eindruck.

auch hier könntest Du in einer Schleife Zeile für Zeile verarbeiten und vielleicht ganz am Ende den kompletten Bereich mit ....Value = "" leeren oder mit ClearContents oder ...

Bei meinen Arrays übrigens noch ein Hinweis. ..1 und ..2 hab ich der Einfachheit halber ab Spalte A gefüllt, da brauch ich bei den "Spaltendurchläufen" nix zu ändern und zu verrechnen.
Bei ..3 hab ich dann nur den entsprechenden Bereich verarbeitet und ab der Startspalte gefüllt.

Beim Verplanen_S hab ich nur für die erste Schleife Arrays und Variablen gesetzt. Das kann man für die andern Schleifen und das andere Verplanen ebenso tun.
Aber, wie gesagt, versuch mal die Zellzugriffe zu reduzieren, und darüber hinaus auch die Aktionen generell.
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#15
(08.12.2020, 08:11)schauan schrieb: Bei meinen Arrays übrigens noch ein Hinweis. ..1 und ..2 hab ich der Einfachheit halber ab Spalte A gefüllt, da brauch ich bei den "Spaltendurchläufen" nix zu ändern und zu verrechnen.
Bei ..3 hab ich dann nur den entsprechenden Bereich verarbeitet und ab der Startspalte gefüllt.

Beim Verplanen_S hab ich nur für die erste Schleife Arrays und Variablen gesetzt. Das kann man für die andern Schleifen und das andere Verplanen ebenso tun.
Aber, wie gesagt, versuch mal die Zellzugriffe zu reduzieren, und darüber hinaus auch die Aktionen generell.

Danke für die Hinweise!
Antworten Top


Gehe zu:


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