Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Macro salva foglio con nome

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Macro salva foglio con nome

Postdi sowhatt » 23/02/15 10:35

Buongiorno, prima di disturbare gli utenti ho provato ad attingere a topic precedenti per risolvere il mio problema, ma non sono giunto ad un risultato utilizzabile.

Sto utilizzando un file excel con tre fogli di lavoro: nel primo creo una fattura, attingendo dati dal foglio due con elenco clienti e archivio alcuni dati nel foglio tre.

Vorrei creare una macro che salvi solo il foglio 1 con la fattura o che copi quanto nel foglio uno nella cartella "fatture" dando nome al nuovo file il numero della fattura e il nome cliente, (nel mio caso pescando dalle celle c20 per il numero fattura e F11 per il nome cliente del foglio che si chiama "fattura"), lasciando il file di lavoro originale aperto ossia senza salvarlo o chiuderlo.

Eventualmente mi domandavo se è possibile mettere nella stessa macro il lancio di stampa di 2 copie del foglio che vado a salvare.
Ringrazio i disponibili.
sowhatt
Utente Junior
 
Post: 16
Iscritto il: 23/02/15 10:22

Sponsor
 

Re: Macro salva foglio con nome

Postdi ricky53 » 23/02/15 15:40

Ciao,
prima di tutto benvenuto nel nostro forum.

Con il VBA è fattibile quasi tutto ... al VBA si può far fare ogni cosa ... anche il caffè.

E' bene imparare a muoversi nel VBA e conviene farlo passo passo e con l'utilizzo del Registratore di macro che ... metà lavoro lo fa lui, l'altra metà tocca a noi.

Prima di iniziare occorrono stabilire delle condizioni:
1. il nuovo file dovrà avere solo valori e nessuna formula altrimenti ... avrà i collegamenti al file padre
2. i formati dovranno essere quelli del foglio 1 padre

Vanno bene queste due?
Te ne hai altre ?

Puoi inviare un file di esempio ci aiuterebbe ad aiutarti.
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Macro salva foglio con nome

Postdi Flash30005 » 23/02/15 17:57

Ciao Sowhatt e benvenuto nel Forum

prova questa macro

Codice: Seleziona tutto
Sub SalvaFatt()
Dim WF1 As Worksheet
Set WF1 = ThisWorkbook.Sheets("Foglio1")
Perc = ThisWorkbook.Path & "\"
If Dir(Perc & "ArchivioFatt", vbDirectory) = "" Then  '<<<<< crea la sottocartella ArchivioFatt
    MkDir (Perc & "ArchivioFatt")
End If
PercArch = Perc & "ArchivioFatt\"
NomeFile = WF1.Range("C20").Value & WF1.Range("F11").Value
    Sheets("Foglio1").Copy
    ActiveWorkbook.SaveAs Filename:=PercArch & NomeFile & ".xls" '<<<< se hai Excel superiore a 2003 sostituisci con ".xlsx"
    Cells.Copy
    Cells.PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
    Range("A1").Select
    Sheets("Foglio1").PrintOut Copies:=2, Collate:=True
    ActiveWorkbook.Close savechanges:=True
End Sub


Troverai i file fatture nella sottocartella ArchivioFatt che ha come radice il percorso del file con la macro

Ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro salva foglio con nome

Postdi sowhatt » 24/02/15 08:34

Buongiorno,

non posso che ringraziare. Sono stato qualche pomeriggio a provare assemblare cercare suggerimenti, ma comunque non è mai tempo tutto perso, qualcosa si impara. Funziona alla perfezione. Volevo se possibile chiedere consiglio per aggiungere due cose o forse tre, ma la terza immagino fosse da comunicare all'inizio:

- uno spazio tra c20 e f11, cosi che il nome del foglio creato diventi 7 Rossi anziché 7Rossi

- un comando che dica al foglio creato di disattivare le macro che ha conservato, cosi da non dover operare la scelta attiva macro disattiva macro, ovviamente piú per apparenza che fatica.

- nel foglio 1 a lato della fattura ci sono i pulsanti con macro assegnate, è possibile nel salvataggio delimitare l'area del foglio (a1: a50, h1:h50) cosi da escludere le celle con i pulsanti?

Grazie ancora, per l'accoglienza da nuovo del forum e per il supporto. Fantastico!
sowhatt
Utente Junior
 
Post: 16
Iscritto il: 23/02/15 10:22

Re: Macro salva foglio con nome

Postdi Flash30005 » 24/02/15 08:44

Per il nome eviterei di lasciare spazi nel nome file e quindi puoi modificare questa riga codice così
Codice: Seleziona tutto
NomeFile = WF1.Range("C20").Value & "_" & WF1.Range("F11").Value '<<< ho inserito l'underscore ma puoi mettere lo spazio se preferisci.


Per quanto riguarda la macro da disattivare non c'è alcun bisogno in quanto la macro non viene trasferita nel nuovo file ma rimane nel file con tutti i dati e il nuovo file non ha alcun codice.

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Macro salva foglio con nome

Postdi sowhatt » 24/02/15 10:27

Ok. Fatta la variazione. Grazie ancora.
Ciao.
sowhatt
Utente Junior
 
Post: 16
Iscritto il: 23/02/15 10:22


Torna a Applicazioni Office Windows


Topic correlati a "Macro salva foglio con nome":


Chi c’è in linea

Visitano il forum: Zer0Kelvin e 14 ospiti