La domanda da 6 bitcoin e`: come faccio a fare eseguire questa formula da B1 a B<N>
dove <N> e` la riga fino a dove arrivano il valori nella colonna A?
Ciao,
grazie a tutti quelli che hanno risposto!
L'idea di Daniele e` interessante, purtroppo inserendo un campo come "=A1+B1" da
database range risulta in una stringa "=A1+B1" inserita, non in una formula...
Il test di Diego funziona, se importato da CSV invece, "=A1+B1" viene interpretato
come formula.
Probabilmente l'idea di Giacomo e` buona. In LOBASIC per esempio effettivamente
ci sono delle funzione setString e setFormula e tutto... E` solo che vorrei evitare
macro il piu` possibile...
Per il momento ho deciso di evitare di creare quella logica in LOBASIC e ho optata
per la strada "sprecona", cioe` quella di semplicemente copiare le formule un numero
elevato di volte...
Sto incontrando uno strano problema di performance ora. LO e` veloce a importare
i dati e fare conti, ma e` molto sensibile a cambiamenti della dimensione di un
database range. P.e. esempio importare 50k righe e calcolare 50k righe di formule
non e` un problema, lo fa in pochi secondi. Ma guai se cambia la dimesione del
database range.
Se parti da un database range von 50k righe, e aggiorni la query sempre con 50k, lo rifa
in due secondi, ma se aggiorni la query con 5k righe (molto meno!) resta li` 5 minuti
a fare finta di essere crashato prima di riprendersi.
Noto che se il database range diventa piu` piccolo, nelle parte calcolata dove
precedentemente c'erano dei valori sostituisce le colonne con #REF! A quanto
pare aggiornare un database range non vuole semplicemente dire di sovvrascrivere
valori in celle, ma in qualche modo distruggere le celle e inserirne nuove. Questo
processo deve triggerare qualche code path worst case dentro Calc...
Intanto sopravivo, ma se qualcuno ha altri buoni consigli sono benvenuti :)
Bye,
Chris.
_______________________________________________
http://lists.lugbz.org/cgi-bin/mailman/listinfo/lugbz-list