Un'ampiezza indefinita sposta i limiti del finito sempre un po' oltre sino a sfiorare l'illimitato.
Il termine illimitato, relativamente agli array, è per me assolutamente nuovo; infatti fino ad oggi non l'avevo mai incontrato. Però se ci rifletti un po su, ti accorgi che in effetti un limite esiste ed è dato dallo spazio occupato in RAM dal programma con tutte le sue costanti e variabili. É anche vero che, in mancanza di spazio, ci pensa il kernel a racimolare spazio utilizzando segmenti di memoria esterna attraverso la tecnica del paging, però ciò determina l'inesorabile appensantimento nell'esecuzione del programma. Comunque, a parte le disquisizioni filosofiche su illimitato/indefinito, dichiarando un array così come ti ha suggerito Milio o come ti ho segnalato io, dalla mia esperienza pratica, potrai raggiungere tranquillamente il tuo obiettivo.
Ma, scusa, quanto mai potrebbe ingigantirsi l'array che vorresti utilizzare?
Attenzione però, perchè se il tuo array dovesse contenere più di una cella per ciascuna riga, la sua dichiarazione, così come ti è stata suggerita, non va più bene; occorre necessariamente dichiararne l'estensione:
DIM $ArrayStri AS String[nn,k]
dove nn= numero massimo delle righe componenti;
k = numero delle celle interne a ciascuna riga.
Spero che sia chiaro, tuttavia, qualora occorresse possiamo addentrarci ancora nell'esempio.