Ho modificato il titolo della discussione perché è vero che grazie a vuott mi è stato chiarito un passaggio del codice ma nel contempo ce ne sono altri e ce ne saranno molti altri di problemi da risolvere.
Invece, sarebbe stato più opportuno avviare tanti post quanti problemi avevi rilevato: in questo modo avresti consentito agli altri avventori del forum di trovare più facilmente la soluzione di simili problemi, sorti anche a loro.
vuott ti ha dato il suggerimento giusto: 1 domanda per 1 discussione.
Circa la tua ultima domanda, se ho capito bene stai chiedendo come passare il valore del contatore di un ciclo ad altra sub.
A parte che non mi è chiaro il perché di questa tua necessità, una soluzione può essere questa:
Public (se il valore deve essere letto ovunque nel progetto) oppure
Private (visibile solo alle routine del modulo stesso) iContatore
As Integer.
Poi in una qualunque routine del modulo/classe:
For i As Integer = 1 to ...
iContatore = i
Next
Per leggere il valore in altra routine del modulo/classe:
Per leggere il valore in una routine di un altro modulo/classe:
valore = <nome del modulo/classe>.iContatore
Appena avrai chiarito dividerò le discussioni con oggetti più descrittivi.