Ciao mau52, benvenuto nel forum.
Allora il codice di una macro idonea potrebbe essere questo:
- Codice: Seleziona tutto
Sub ShFroModel()
Dim modWb As String, cWb As String, tmpWb As String, mySplit
'
modWb = "C:\Percorso\NomeFileModello.xlsx" '<<< 111 Il Modello
mySplit = Split(" " & modWb, "\", , vbTextCompare)
tmpWb = mySplit(UBound(mySplit))
'Chiudi il Modello, se aperto:
On Error Resume Next
Workbooks(tmpWb).Close False
On Error GoTo 0
'
cWb = ActiveWorkbook.Name 'Il file attivo:
Workbooks.Open Filename:=modWb 'Apri il Modello
'Copia 2 fogli da Modello:
Sheets("Foglio1").Copy Before:=Workbooks(cWb).Sheets(1) '<<< Indicare il secondo Foglio da importare da Modello
Sheets("Foglio2").Copy Before:=Workbooks(cWb).Sheets(1) '<<< Indicare il primo Foglio da importare da modello
Workbooks(tmpWb).Close False 'Chiudi il Modello
End Sub
Il codice e' da inserire all'interno del tuo Personal.xlsm. Se non hai un Personal, lo puoi creare avviando e fermando subito la registrazione di una nuova macro e facendo la scelta "Memorizza macro in: Cartella macro personale"; ti ritroverai cosi' nel vba un "VbaProject (Personal.xlsm)"
Se non sei pratico di registrazione macro, i primi rudimenti li puoi trovare qui:
viewtopic.php?f=26&t=103893&p=622593#p622593Creato Personal.xlsm, copia il codice e inseriscilo in un "modulo standard" del progetto, ad esempio lo stesso Modulo in cui e' stata registrata la macro vuota di cui abbiamo appena detto.
La riga marcata <<< 111 va personalizzata con l'indirizzo del file Modello da aprire. Nelle altre due righe marcate <<< devi indicare quali fogli vanno copiati dal Modello al file "corrente".
Il file Personal.xlsm viene automaticamente aperto tutte le volte che viene avviato Excel, e questo ti consentira' di avere la macro sempre disponibile.
Attenzione: alla chiusura di excel ti chiedera' se vuoi salvare il file Personal.xlsm, ovviamente risponderai (questa prima volta) "Salva".
Quando vuoi lanciare la macro, partendo dal file in cui vuoi aggiungere i fogli prelevandoli da Modello:
-premi Alt-F8
-accertati che l'elenco a discesa "Visualizza Macro in:" sia su Personal.xlsm (oppure Tutte le cartelle di lavoro aperte)
-seleziona ShFroModel dall'elenco di macro disponibili
-premi Esegui
La macro chiude il file Modello, se fosse aperto; poi lo apre e copia i due fogli nel file attivo al momento in cui la macro e' stata avviata; infine chiude il Modello.
Se hai XL2007 o sucessive puoi facilmente aggiungere una icona alla tua "Barra di accesso rapido" (in genere e' un insieme di comandi disponibili nell'estremo Alto /Sx dello schermo, sopra i Tab del menu), in modo da eseguire la macro premendo una icona.
Se la macro funziona potremo valutare anche questa opzione; indica la versione di Excel con cui lavori.
Ciao