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

Außerdem schmeckt Spinat wesentlich besser, wenn man ihn kurz vor dem Servieren durch ein Schnitzel ersetzt.

Claus stellt eine Frage zu VBA: In einer Schleife wird ein Haltepunkt gesetzt. Eine Variable oder mehrere Variablen werden dort überwacht.

Bei ihm verschwindet die Anzeige im Überwachungsfenster – er muss immer hineinklicken, damit er die Werte der Variablen sieht.

Ich teste es – seltsam – bei mir klappt es – nichts verschwindet:

Kennt jemand das Problem?

Gestern habe ich alkoholfreies Bier gekauft und mit Karte bezahlt. Heute ruft mich die Bank an und fragt, ob meine Karte gestohlen wurde …

Excel-VBA-Schulung. Wir üben das Programmieren von eigenen Funktionen (also function), die in Excel verwendet werden sollen. Ich zeige einen Fehler:

Und erkläre, dass man die Ursache gut finden kann, indem man einen Haltepunkt in Excel setzt:

Dann muss man die Funktion editieren (doppelklick oder [F2]) und sie wird erneut aufgerufen und berechnet:

Allerdings: nichts passiert. Ich brauche eine Weile, bis ich verstehe. Die Parameter sind vom Typ Double deklariert. Einer der Eingabewerte ist jedoch keine Zahl:

Und so wird die Funktion schon direkt nach dem Aufruf abgebrochen und liefert die Fehlermeldung #WERT, ohne dass die Zeile mit dem Haltepunkt erreicht wird. Also flugs den Wert der Zelle in eine Zahl ändern und schon wird der Haltepunkt erreicht.