Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - EXCEL VBA
Forum - Visual Basic 6 - EXCEL VBA

Avatar
SunSte79 (Normal User)
Newbie


Messaggi: 7
Iscritto: 17/02/2010

Segnala al moderatore
Postato alle 16:49
Giovedì, 20/05/2010
Ciao a tutti

Sto sviluppando un sistema di analisi tramite excel,
ovvero recupero dati da un foglio , gli elaboro , e poi li ributto (rielaborati) in un altro foglio.

I mie problemi sono i seguenti:
1- (futile) Vorrei, che , mentre importo nel foglio di destinazione si vedesse scorrere il foglio ,in modo da capire  quanto effettivamente manca (sono parecchie righe)

2 -  Ho un calo enorme delle prestazioni in fase di scrittura... la fase di recupero righe ed elaborazione è velocissima , poi quando si tratta di dover riscrivere nel foglio excel è una tragedia... avete qualche soluzione ?!

PM Quote
Avatar
piter123 (Normal User)
Pro


Messaggi: 145
Iscritto: 21/05/2008

Segnala al moderatore
Postato alle 7:19
Lunedì, 24/05/2010
ciao,
presumo che la scrittura sul foglio excel avvenga tramite un ciclo for next.
Prova a invece scrivendo direttamente la matrice sul foglio.
se per esempio hai la matrice prova(1 to 100) e la devi scrivere sulle celle da a1 a a100 presumo che la scriverai così
for i=1 to 100
xls.cells(i,1)=prova(i)
next i

prova invece nel seguente modo, la scrittura sarà istantanea.
Premessa la matrice prova dovrà essere così prova(1 to 100, 1 to 1)

xls.range("a1:a100")=prova


PM Quote
Avatar
SunSte79 (Normal User)
Newbie


Messaggi: 7
Iscritto: 17/02/2010

Segnala al moderatore
Postato alle 10:06
Mercoledì, 26/05/2010
Ciao,

Devo fare un giusta precisazione, per elaborare il file excel uso delle COLLECTION
ovvero salvo i dati elaborati nelle collezioni che ha sua volta salvo in una collezione unica, in questo modo mi creo una struttura logica identica al foglio excel.
quando ovviamente devo scrivere la collezione nel file excel... ho il calo delle prestazioni.
Ho provato quello che mi hai suggerito ma non funziona, mi restituisce un errore

wks.range("A1:Z5000")=cRecord

cRecord è la mia collection

PM Quote