Newsgroup: it.comp.lang.visual-basic
Titolo: vba: copy/paste non negli appunti

Ciao , spero di essere nel ng giusto.
Ho una serie di macro in excel che copiano di continuo delle celle in
altre celle di altri fogli, in pratica una serie di istruzioni copy/paste;
siccome queste istruzioni si ripetono ogni quarto d'ora succede che dopo
qualche giorno il pc mi si blocca per riempimento del file di paging di
windows
Ho capito che questo succede perch� l'operazione di copy scrive
continuamente nuovi dati negli appunti, senza cancellare i dati vecchi,
quindi vedo il file di paging che aumenta continuamente; uscendo da excel
i dati vengono cancellati e il file si ripristina, ma a me servirebbe che
il sistema funzionasse a tempo indeterminato.
Dovrei dunque scrivere i dati dell'istruzione copy in un'area locale, che
possa essere sovrascritta dalla successiva istruzione copy; ho capito che
c'entra il parametro [destination] dell'istruzione copy, ma non so come
utilizzarlo
Spero di essere stato chiaro
Grazie
Antonello
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 qualche giorno il pc mi si blocca per riempimento del file di paging di
...
abbi pazienza eh....forse mi sfugge qualcosa di quanto hai detto (o
non hai detto tutto)
Il copia ed incolla serve per passare dati tra applicazioni diverse.
es. faccio il grafico in excel e lo incollo nella relazione in world!
Excel se si tratta di passare dati tra fogli della solita cartella di
lavoro ti mette a disposizione i nomi per fare riferimento agevolmente
a celle o zone di fogli diversi (sempre della solita cartella ovvio)
Quindi ...io capisco che vuoi copiare dati fra fogli di excel di
cartelle di lavoro excel diverse.
1 soluzione kafkiana....una cartella di lavoro che ingloba i due fogli
di excel? Forse è troppo facile da pensare?Excel gestisce bene le 3
dimensioni!
2 soluzione....export su file...ogni 15 minuti check del file
ma a prescindere....mi incuriosisce.....che cavolo di complicazione è?
Una gestione contratti/ordini on line? Una elaborazione statistica di
centraline rilevamento fumi o inquinamento?....son curioso!

 Antonello
Prova a leggere qua:
http://www.cpearson.com/Excel/Clipboard.aspx
In particolare:
Within Excel, you can clear Excel data from the clipboard with: 
Application.CutCopyMode = False. Or to completely clear the clipboard, use 
code like the following.
Public Declare Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As 
Long
Public Declare Function EmptyClipboard Lib "user32" () As Long
Public Declare Function CloseClipboard Lib "user32" () As Long
Sub ClearClipboard()
    OpenClipboard (0&)
    EmptyClipboard
    CloseClipboard
End Sub
Bye
Raf
 

 centraline rilevamento fumi o inquinamento?....son curioso!
Grazie a tutti e due per i consigli; penso che l'idea di Rafunk sia buona
(Application.CutCopyMode = False); 
Per rispondere a Wodka40, si tratta di divesi file, purtroppo � un
programma abbastanza complesso che non ho creato io, devo solo
modificarlo; sono diversi file excel, per capirsi  attraverso una
applicazione sotto excel va a prendersi dei dati da un server sulla rete
aziendale, sono delle posizioni di paratoie e dei livelli di acqua a
monte, excel importa questi dati, li memorizza ogni quarto d'ora in varie
cartelle a seconda della zona, e fa dei calcoli di portata scaricata
partendo da livello/apertura, niente di particolarmente complesso, solo
che sono tanti.......
Tuttavia ho scoperto che la vera voragine di memoria non sono tanto i
copia/incolla che pure contribuiscono, ma la fase di accesso al server,
per cui al momento ho cambiato sistema, prelevando tutti i dati dal server
in una sola fase e poi gestendo tutti i dati solo all'interno delle
cartelle excel sul pc la situazione � infinitamente migliorata, penso che
con l'istruzione  Application.CutCopyMode = False dovrei essere a posto
Grazie di nuovo
ANtonello



Un altro modo, se non vuoi
vedere i dati del db nei fogli,
� caricare i dati in una Collection.
Ti crei una classe che copi il modello dei
dati che hai sul db e carichi la Collection
con oggetti derivati dalla classe.
Interrogherai poi la Collection.
Comunque l'accesso ai dati sul foglio,
sar�(se gestito bene) pi� veloce rispetto
all'accesso ai dati della Collection.
-- 
---------------------------
Mauro Gamberini
Microsoft MVP - Excel
http://www.riolab.org/
http://www.maurogsc.eu/
http://social.microsoft.com/Forums/it-IT/excelit/threads