| Salvataggio files di
Andrea |
Ciao a tutti! sto cercando di risolvere questo
problema. dopo aver elaborato alcuni dati nel foglio3 della cartella
cartl1 di excel, vorrei salvare i risultati ottenuti in una cartella
del desktop, diciamo la cartella “archivioâ€. il lancio della
macro che svolge tali operazioni dovrebbe avvenire dal foglio1
(anche se i dati elaborati si trovano nel foglio3). ciò di cui
ho bisogno è una routine che io possa eventualmente richiamare da
un’altra qualsiasi routine, per effettuare questo salvataggio ogni
volta che ne ho bisogno e cioè prima di azzerare i dati di foglio3 e
passare ad una successiva elaborazione. ho cercato di risolvere
la questione provando con una macro da tastiera e osservando dopo il
codice prodotto, ma ogni volta che la eseguo mi accorgo (con
sgomento) che sparisce il codice vba che avevo scritto nell’editor
di cartel1 (che è la cartella che utilizzo per elaborare i dati)
mentre è presente nella copia inviata nella cartella archivio. non
riesco a capire nè il codice vba da scrivere nè dove lo devo
scrivere. qualcuno può aiutarmi?
|
|
| Ciao ! di Apoben64 |
Nella sezione "scambio files" puoi trovare un file
(andrea) che può fare al caso tuo e ovviamente lo dovrai adattare
alle tue esigenze. ti permette di fare una copia del foglio 3 dove
vuoi tu. con alt f8 o alt f11 può vedere il codice. un
saluto luca |
|
| di Andrea |
Grazie apo! ho analizzato con attenzione il tuo
codice e ritengo di doverci fare ben pochi cambiamenti. una
domanda. visto che la cartella di destinazione "archivio" (situata
sul desktop) è fissa e che il nome con cui devo salvare di volta in
volta il foglio3, pur essendo variabile, è sempre contenuto nella
cella g1 del foglio3, ho la possibilità di automatizzare l'intera
procedura (cioè senza passare per la finestra salva con nome ecc.)?
in caso affermativo come dovrei modificare il codice che mi hai
inviato? per ringraziarti, questa casella non ha abbastanza spazio.
---andrea |
|
| Nuova soluzione di
Apoben64 |
Ciao! sostituisci il codice con questo ,
utilizzando copia e incolla
Sub SalvaFoglio()
x = MsgBox("Vuoi creare una del foglio 3 ?", vbYesNoCancel)
If x = vbYes Then
Sheets("Foglio3").Select
ChDir "C:\Documents and Settings\Administrator\Desktop\Archivio"
ActiveWorkbook.SaveAs Filename:= _
"C:\Documents and Settings\Administrator\Desktop\Archivio\foglio3", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
End If
End Sub | |
|
| di Andrea |
Ciao luca! alcuni commenti al codice che mi
stai inviando:
- se ho capito, il salvataggio nella cartella
“archivio†del foglio3 (che, per inciso, appartiene alla cartella
“elaborazioni xlsâ€), avviene sempre con il nome “foglio3â€. se leggi
il mio post precedente, l’intenzione è di farlo salvare con il nome
scritto nella cella g1 del foglio 3. poichè in g1 c’è sempre un nome
diverso, nella cartella “archivio†avrei (auspicabilmente) files
salvati con nomi diversi e quindi agevolmente rintracciabili; -
eseguendo il codice ho notato che in “archivio†esso non salva
solamente il foglio3, come vorrei, ma l’intera cartella
“elaborazioniâ€, cosa che non desidero per evidenti motivi; -
terminata l’operazione di salvataggio del foglio3 in “archivioâ€, la
procedura dovrebbe concludersi tornando a visualizzare il foglio1 di
“elaborazioniâ€. noto invece che visualizza il file appena salvato.
sono certo che avrai capito il motivo di questa procedura.
nel foglio3 di “elaborazioni xls†vanno a finire i risultati di una
elaborazione fatta dal foglio1 della stessa cartella. se non
archivio il foglio3 nel modo anzidetto e prima di effettuare una
nuova elaborazione su altri dati, i risultati precedenti andrebbero
dispersi.
un saluto. ---andrea
|
|
| Ciao di Apoben64 |
| Prova a simulare quello che vuoi utilizzando il
registratore di macro, così avrai i tuoi riferimenti precisi.
dopodichè puoi copiarti il codice e incollarlo nel tuo file! |
|
| di Andrea |
Già fatto, ma la macro da tastiera, e ti
accorgeresti tu stesso se provassi, non riesce a simulare la routine
che ti ho descritto. grazie cmq. |
|
| Ciao ! di Andrea |
Non bisogna mai darsi per vinti ! vedrai che
troviamo un soluzione!. peraltro la simulazione del registratore di
macro è solo un modo che ci aiuta per avere un codice o traccia o
indicazione su cui lavorare ; ad esempio non mi dirai che usando il
registratore di macro e non si possa trovare il codice per salvare
solo il foglio 3, se poi il salvataggio del foglio debba avvenire
secondo dei parametri questo include altri aspetti , di cui potrò
solo affrontare da lunedì , essendo fuori per un congresso .
buon weekend ! p.s. rispondo anche a fabio22 |
|
| Proviamo di Apoben64 |
Guarda se questa soluzione può andarti bene , poi
andiamo avanti.
ub Salva()
Sheets("Foglio3").Select
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\Administrator\Desktop\Archivio\" _
& Range("G1").Value & ".xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Range("A1").Select
End Sub | |
|
| Solo il foglio3 di
Apoben64 |
Questo codice solo per copiare il foglio3.
Sub Copia()
Sheets("Foglio3").Copy
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\Administrator\Desktop\Archivio\" _
& Range("G1").Value & ".xls"
End Sub
| |
|
| Ringraziamento di
Andrea |
Ieri, ti ringraziavo per i codici che mi hai
inviato. evidentemente, per l'errore di sistema che hai segnalato il
post non è stato pubblicato. ti ringrazio ancora. a risentirci.
andrea
|
|
| Per andrea di
Apoben64 |
| Ti pregherei di ripubblicare il tuo post che se non
ricordo male , riguardava l'importazione di dati da database. grazie
e a presto. luca |
NUOVA DISCUSSIONE CORRELATA: Salvare foglio excel tramite VBA