Ad ogni assegnazione, il valore SUPA e LOPA assumono l'ultimo valore assegnato.
All'interno del for y... puoi mettere una variabile del tipo :

a_supa = a_supa & " " & Trim(array_sup(x))

in questo modo, avrai nella variabile asupa tutti i valori trovati.