Alle elf Minuten vergeht am Montag eine Minute

Guten Tag Herr Martin

Ich habe seit langen ein Problem, den ich nicht lösen kann.

Ich habe einen Code und der läuft bis zu einem Punkt durch. Danach kommt ein Debugg Fehler

Wenn ich dann auf Debuggen gehe , danach mit F5 weiter gehe, dann läuft der Code durch.

Hallo Herr S.,

drei Bemerkungen zu Ihrer Frage:

1. Das sind zu wenige Informationen.

Mir fehlt:

* wsKore_Import ist eine Variable, die auf eine Datei verweist?

* wie ist die Variable r deklariert?

* wie ist die Variable i2 deklariert?

* wenn Sie mit dem Mauszeiger über strBLATTNAME fahren – welchen Wert hat diese Variable?

* Gibt es das Blatt strBLATTNAME in der Datei wsKORE_IMPORT?

* Mit was ist strVON gefüllt?

2. Mich wundert:

Set r = …

Sie verweisen auf einen Bereich.

Anschließend:

For each r in r.cells

Hier beißt sich die Katze in den Schwanz:

Sie verwenden die Variable r (genauer: alle Zellen dieses Bereichs), die Sie gefüllt haben und weisen ihr ständig neue Zellen zu, verwenden aber immer noch r.cells. Autsch!

Verwenden Sie hier bitte eine andere Variable:

Dim r2 as Range

For each r2 in r.Cells

Der Punkt vor Cells ist sicherlich weiter oben zugewiesen, oder? With irgendetwas …?

3. Ich hatte auch schon Fälle, in denen ein Makros sehr merkwürdige Dinge machte (ich glaube, das hatte auch mal, dass es beim Debuggen funktionierte und beim Durchlauf (bei mir) IMMER abstürzte. Lösung: Ich habe den Code verändert! SO lange, bis es lief. Und dann mit den Schultern gezuckt.

In Ihrem Beispiel:

Arbeiten Sie mit einer „Zwischenvariable“. Beispielsweise

Dim xlBlatt As WorkSheet

Set xlBlatt = wsKORE_IMPORT.WorkSheets(strBlattname)

Set r = xlBlatt.range(strVon)

Vielleicht klappt das …

Klappt das?

Liebe Grüße

Rene Martin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.