Bart Aimar ha scritto:

> Confermo e aggiungo che inciampa in generale sui numeri veri...

Semplicemente perchè quella linea di codice viene letta solo se si ha a che
 fare con dei numeri

> >>>   if Tipo <> 0 Then    ' Se è un numero si limita a formattare
> >>>                       'la cella
> >>>       oMycell = oFoglio.getCellRangeByName(d + LTrim(Str(g)))
>
> Quindi questa riga sopra è sbagliata... (e/o forse qualco'altro..)

L' errore sta nel fatto che .getCellRangeByName() accetta i parametri di 
colonna e di riga nella forma ("A0:B10") cioè byName, invece nella linea sopra 
gli vengono passati dei numeri anzi non si sa bene cosa, perchè viene sommato 
d (numero di colonna) al numero di riga trasformato in una stringa 
LTrim(Str(g))
Siccome abbiamo solo numeri di colonna e di riga la linea va modificata così

oMycell = oFoglio.getCellRangeByPosition(d , g , d , g)

le variabili d e g vanno ripetute due volte, .getCellRangeByPosition() vuole 
l' inizio e la fine del range anche se si tratta di una sola cella 

> Forse ho fatto delle modifiche a valle senza capire bene cosa facevo...
> Dovrei provare la macro originale... ma in questo momento sono di fretta...
>
> Ma direi che i problemi di questa macro come è strutturata adesso sono:
>
> - NON riesce a copiare un numero vero

Per quanto riguarda i numeri, con il codice attuale, non li copia nella cella 
accanto ma li formatta nella solita cella, per poterli copiare nella colonna
duplicata ( oFoglio.Columns.insertbyindex(d+1,1) ) deve essere modificato
così

                if Tipo <> 0 Then       ' Se è un numero si limita a formattare
                                                'la cella
'********************************************************************
                        oFoglio.getCellByPosition(NumCol+1, g ).setValue(Tipo)
                        oMycell = oFoglio.getCellByPosition(NumCol+1, g )
'********************************************************************
                        oMycell.NumberFormat = 4
                Else    ' Altrimenti fa una serie di controlli per determinare
                        ' che tipo di stringa è

sono le stesse righe che si trovano alla fine della sub, cambia solo il valore
passato a .setValue(), in questo caso basta dargli (Tipo) essendo già un 
numero

> - NON riesce a copiare una "parola"

Per il resto alla prossima puntata

Ciao
Lido

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a