3D libero a tutti, belli e brutti!

questa e' la funzione, se vuoi cercare
CreateObject"System.Collections.ArrayList"Dim list As Object
Set list = CreateObject("System.Collections.ArrayList")
 
e' un attimo

nel vba

nelle dichiarazioni
dim lista as object



all'apertura del file o in un button va creato l'oggetto unatantum

set lista = Createobject("System.collections.Arraylist")



a questo punto diventa come sempre

anziche' imputare la cella all'evento change/calculate

lista.add( quello che vuoi )


a fine giornata (meglio anche a intervalli regolari per non perdere tutto negli eventuali crash)


for i = 0 to lista.count -1
scrivi il file testo con lista.item(i)

oppure a questo punto puoi anche riscrivere le celle se ti piace di + cosi'...screenupdating=false..poi alla fine true
next


questo velocizza parecchio per diversi motivi...tipo evita gli eventi di ricalcolo per l'imputazione di nuove celle....e via andare
 
Ultima modifica:
si ma se hai 20k righe di stoccaggio non puoi fare calcoli veloci
sembra un paradosso ma meno usi le celle con excel + veloce vai
ogni volta che ne modifichi anche una sola... parte un loop infernale se hai dentro un evento change/calculate

diventa un collo di bottiglia
 
si ma se hai 20k righe di stoccaggio non puoi fare calcoli veloci
sembra un paradosso ma meno usi le celle con excel + veloce vai
ogni volta che ne modifichi anche una sola... parte un loop infernale se hai dentro un evento change/calculate

diventa un collo di bottiglia

si piu celle con calcoli peggio e' la situazione
pero' quello che conta seconda me e' la persistenza
guarda questo spike fasullo

Noname.jpg
 
si piu celle con calcoli peggio e' la situazione

se hai 20mila celle e aggiungi un nuovo scambio nella 20001....obblighi excel a verificare una per una le 20mila celle
se la metti in memoria questo non succede
e questo controllo sulle 20mila avviene ad ogni evento...quindi + volte al secondo
e' chiaro che non e' un sistema efficiente
questo cosa provoca?...se fai la raccolta di dati..molti li perdi perche' vengono raggruppati ecc...oltre ad avere una macchina fortemente instabile

insomma excel non e' un database..e' un foglio di calcolo....non puoi usarlo come database
 
Ultima modifica:

Users who are viewing this thread

Back
Alto