Ho un problema che nasce perchè stò modificando un foglio elettronico protetto e posso modificare solo le celle previste per l'inserimento dati; i dati da inserire provengono da un file CSV esterno. Uso Calc di OpenOffice
Ho due fogli
devo copiare il contenuto di una cella in un'altra ma in modo condizionale, esempio:
Foglio1.D1 in Foglio2.C1 se il contenuto di Foglio2.D1 è vero
Il tutto utilizzando riferimenti numerici di righe e colonne.
Ho creato una funzione personale:
Code:Function CopiaDato (foglioor, colonnaor, rigaor, fogliode, colonnade, rigade)
' or stà per origine de stà per destinazione
dim Doc, Sheet, Cell, oVal
Doc=ThisComponent
Sheet=Doc.Sheets(foglioor)
Cell=Sheet.getCellByPosition(colonnaor, rigaor)
oVal=Cell.string
Doc=ThisComponent
Sheet=Doc.Sheets(fogliode)
Cell=Sheet.getCellByPosition(colonnade, rigade)
Cell.string=oVal
End function
e la metto in una cella del foglio 2, ad esempio:
Code:= SE ( CONDIZIONE D1 VERA ; COPIADATO(0;3;0;1;2;0) ; "" )
che mi copia il contenuto della cella Foglio1.D1 in Foglio2.C1
però non funziona molto bene, probabilmente ho sbagliato qualcosa ma non sò cosa.
Mi ricopia il dato, ma:
° lo fà solo all'apertura del file, se vario il dato di origine la destinazione non varia, nemmeno 'ricalcolando'
° se il dato è una stringa tutto ok, ma se è ad esempio un'ora 7.05 me la riporta copiata '7.05, cioè mi metta un apice che mi sballa tutto.
C'è qualche altro modo per fare questa copia condizionale?
Dengh'iu muc mor