| Problema con matrice dinamica
di Big ronnie |
Ciao a tutti, vi espongo subito il mio problema.
ho dichiarato una matrice dinamicamente,dopdiche' all'interno di
una macro la dimensiono con redim ed il risultato di un conteggio
variabile di celle(ora supponiamo 10).quando per errore voglio
leggere l'11 elemento giustamente mi dice indice non compreso
nell'intervallo,ma non capisco perchè subito dopo andando a leggere
per esempio il 5 elemento mi dà lo stesso errore.non mi rimane altro
da fare che svuotare la matrice con il comando erase e far ricontare
le celle.ciao e grazie |
|
| di Mauro |
| Ciao big potresti postare il codice che ti crea
problemi? |
|
| di Mauro |
| Secondo me può dipendere da come passi la matrice
alla routine chiamata. prova a mettere tutto il codice nella stessa
routine e vedere se lo fa ancora. |
|
| di Big ronnie |
Scusa per il ritardo ma sono stato impegnato.questo
è un esempio del codice che ti ho detto.la matrice è dichiarata
publicamente in un modulo nella sezione generale-dichiarazioni e la
macro nello stesso modulo.ciao e grazie.
Public matrice() As String
Sub q()
Count = 1
Do While Worksheets(1).Range("a" & Count) <> ""
Count = Count + 1
Loop
a = Count - 1
ReDim matrice(a)
For I = 1 To a
matrice(I) = Worksheets(1).Range("a" & I)
Next I
End Sub
| |
|
| di Big ronnie |
Dimenticavo di dirti che nelle celle da "a1" ad
"a10" per l'esempio ho messo delle lettere.ciao p.s:a me
continuano a non inserirsi gli smile,perchè? |
|
| di Mauro |
| Ciao big così com'è messa la tua routine mi
funziona perfettamente! ho riscontrato un problema quando provo a
passare la matrice ad una subroutine, sembra venga passato per
valore anzichè per riferimento come dovrebbe essere... |