Frage

Ich versuche, eine einfache Formel auszuführen, um leere Einträge aus einem Array zu entfernen.Das Array, das ich verwende, wird aus einem Feld in einer Datentabelle in Excel geladen, die in Excel mit dem Namen TY eingerichtet ist.Der Name dieses Feldes ist TY [L3-Nummer].Ich möchte dieses Array dynamisch halten, da er möglicherweise der Benutzer ändert oder Zeilen von der Datentabelle hinzufügen oder löschen kann.Die Testdaten, die ich verwende, hat 218 Zeilen, von denen 210 doppelte Einträge haben (die später entfernen möchte) und 8 Einträge von "".

Wenn Sie das Makro ausführen, erhalte ich einen Laufzeitfehler 9 "Index außerhalb des Bereichs" in der ersten Zeile meiner IF-Anweisung.

Ich habe buchstäblich Stunden damit verbracht, zu versuchen, zu verstehen, warum VBA mir diesen Fehler gibt.Mein Verständnis ist, dass dies auf ein Array zurückzuführen ist, das nicht korrekt groß ist, um die an ihn übergebenen Daten zu verarbeiten.Ich habe das Debug-Fenster verwendet, um zu überprüfen, ob beide Arrays korrekt groß sind.

Ich bin ziemlich neu für die Programmierung und lehre mich selbst, wenn ich gehe, aber ich finde die Lösung nur für diesen alleine.

generasacodicetagpre.

War es hilfreich?

Lösung

Bereiche sind mehrdimensionale Arrays .. (d. H. MyArray (#, #) Wenn der erste Index die Zeile und die zweite der Spalte sein wird.

wechseln

generasacodicetagpre.

bis

generasacodicetagpre.

Wenn Ihr Bereich nur eine Spalte aufweist, ist der zweite Index immer 1

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top