Zuerst einmal, herzlich willkommen im Forum, kleines sigma ....
Die Bemerkung von Thomas ist schonmal beachtenswert, isArray ist zwar nicht verkehrt hier, aber sinnlos (und liefert wie es aussieht zwar ein korrektes, aber unerwartetes Resultat zurück).
Da Doc.ColumValues ja offensichtlich ein Feld ist, ist auch per definition klar, wie diese Eigenschaft des Dokumentes aussieht: ein eindimenstionaler Array. ColumnValues(0) ist also in jedem Fall ein skalarer Wert und damit überrascht es, dass man überhaupt auf die Fehlerzeile lossteuert, ich hätte jetzt erwartet, dass immer der else-Zweig ausgeführt wird. Offensichtlich überprüft IsArray in dieser Situation nicht den Inhalt der Array-Zelle 0, sondern gibt True zurück, weil ColumnValue selbst ein Array ist.
Weiter, v ist nach der Zuweisung
v=doc.ColumnValues(0)
ein Skalar und die Zuweisung sp(0)=V(0) dürfte dann die Fehlermeldung werfen (und nicht die markierte Zeile)