Condividi:        

Macro nuovo file Excel

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 nuovo file Excel

Postdi Fabiolan » 15/02/17 10:15

Ciao ragazzi,
avrei bisogno di una Macro che collegherò a un bottom, che al momento del click, mi crei un nuovo file identico (quindi con lp stesso numero di fogli) che però non contenga le formule del file di origine..
Magari se fosse possibile scegliere il nome da assegnare al momento del click..
In rete ho trovato una Macro di questo tipo, però il file creato contiene tutte le formule del file di origine...
Grazie
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Sponsor
 

Re: Macro nuovo file Excel

Postdi alfrimpa » 15/02/17 10:52

Fabio allega un file di esempio senza dati sensibili.

In linea generale potresti, prima si Salva con nome, (sempre con un macro) cancellare tutte le formule presenti e poi chiudere il file principale senza salvarlo così non perdi le formule temporaneamente cancellate.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Macro nuovo file Excel

Postdi Fabiolan » 15/02/17 11:21

Purtroppo è un casino sia utilizzare partendo dal file esempio dati non sensibili (dovrei csncellare gran parte del contenuto) ed è praticamente impossible eliminare le formule solo per la Macro, perderei quasi tutti I valori che ci sono nei fogli..
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi alfrimpa » 15/02/17 11:29

Ma la cancellazione è solo temporanea. Chiudendo il file senza salvarlo le formule le conservi (e con esse anche i risultati).

A meno che non abbia capito.
Alfredo

Win7 + Office 2007
Avatar utente
alfrimpa
Utente Senior
 
Post: 1201
Iscritto il: 30/12/13 17:01
Località: Napoli

Re: Macro nuovo file Excel

Postdi Fabiolan » 15/02/17 11:29

https://www.dropbox.com/s/19fqsz92r1okb ... .xlsm?dl=0

Questo è il file...ho eliminato alcuni valori...come potrai notare ogni mese e ogni attività dei fogli non colorati hanno delle formule...
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi Fabiolan » 15/02/17 11:39

Praticamente se elimino le formule, il nuovo file ha dei riferimenti nulli, intendevo questo.
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi Anthony47 » 15/02/17 14:59

Quindi, per evitare equivoci, tu vorresti che su ogni foglio simile a quello di partenza tutte le FORMULE vengano cancellate, lasciando invariati testi, numeri, date etc che siano scritti come "costanti"; oltre che la formattazione.
Il foglio "1" pertanto diventerebbe:
Immagine
image share

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro nuovo file Excel

Postdi ricky53 » 15/02/17 15:02

Ciao,
però, a mio avviso e come GIUSTAMENTE ti ha scritto Anthony, va chiarito cosa vuoi ottenere:
un nuovo file contenente solo i dati, senza formule e riferimenti esterni ma con la stessa struttura di quello di partenza?
Se è così la cosa è fattibile ed è anche semplice.

Oppure ... descrivi bene cosa vorresti.

COMMENTO: è necessario sempre aver chiaro il risultato finale da ottenere, e, sempre a mio avviso, questo non è chiaro a noi utenti del forum o, almeno a me, mancano alcune informazioni per farmi capire con certezza cosa vuoi ottenere.
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. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Macro nuovo file Excel

Postdi Fabiolan » 15/02/17 15:39

Ciao, scusate se sono stato poco preciso.
In pratica, il foglio di partenza presenta uno shift ogni mese. Cambiano pertanto anche le posizioni dei diversi mesi.vengono visualizzati solo gli ultimi 12.
Io vorrei che a fine anno si salvi la situazione in un nuovo file.
Dico a fine anno, perché è il mese in cui sono presenti tutti I mesi relativi a quell'anno.
Se sul nuovo foglio passano anche le formule, I nomi dei mese mi cambierebbero proprio come avviene nel foglio originale.
Nella foto postata, devono rimanere I mesi, che quindi sarebbero: Gennaio, Febbra...ecc. Nel foglio originale a Gennaio, non ho più I 12 mesi visualizzati, ma solo gli ultimi 12.
Spero di essere stato chiaro e scusate per la superficialità nel descrivere la situazuone
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi Fabiolan » 15/02/17 15:52

Per essere più chiaro, vorrei una sorta di fotografia del file che però non sia JPEG.xD
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi Anthony47 » 16/02/17 00:47

Ah... tutta un'altra cosa rispetto alla prima e alla seconda interpretazione che avevo dato ai messaggi precedenti :D :D
Vuoi insomma creare una copia congelata del file, cosa che dovresti poter ottenere con questa macro:
Codice: Seleziona tutto
Sub freezer()
'Crea una Copia congelata del file corrente
Dim fArr, peppaF As String, I As Long
'
peppaF = ThisWorkbook.Path & "\ZCZC_" & ThisWorkbook.Name
'
ThisWorkbook.SaveCopyAs peppaF
Application.EnableEvents = False
'Apre e "congela" la copia:
    Workbooks.Open peppaF
    For I = 1 To Worksheets.Count
        Sheets(I).Select
        fArr = Range(Range("A1"), Cells.SpecialCells(xlCellTypeLastCell)).Value
        Range(Range("A1"), Cells.SpecialCells(xlCellTypeLastCell)) = fArr
    Next I
    Worksheets(1).Select
    MsgBox ("File immagine creato" & vbCrLf & _
        "Ora dovrai scegliere percorso e nome file di salvataggio")
    Application.Dialogs(xlDialogSaveAs).Show
    ActiveWorkbook.Close
    ThisWorkbook.Activate
Application.EnableEvents = True
End Sub

Questa crea prima una copia con il nome "ZCZC_NomeCorrente"; poi apre e "congela" questa copia; infine effettua un "Salva con nome" che consente all'utente di scegliere tramite l'interfaccia standard windows il nome da assegnare al file.
Infine si torna al file di partenza.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro nuovo file Excel

Postdi Fabiolan » 16/02/17 20:56

E' perfetto grazie!
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi Fabiolan » 28/02/17 10:54

Ciao,
ho effettuato numerose prove con il codice da te suggerito. Mi sono accorto però che la macro crea un file che viene salvato in automatico sul desktop. Quando poi, vado a scegliere percorso e nome file, in realtà non vado modificare il precedente file, ma ne crea uno nuovo che ha la destinazione e il nome da me scelto. Però il precedente file rimane.
Come posso risolvere il fatto che si creano due copie?
Grazie
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi Fabiolan » 28/02/17 11:07

ho inserito questa riga prima di End Sub. Sembra funzionare. Cosa te ne pare come soluzione? Grazie

Codice: Seleziona tutto
Kill peppaF
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi Fabiolan » 28/02/17 18:53

Mi sono accorto che nel file che si crea, rimangono attive le macro. Come posso fare per far si che esse non si attivino (tipo cancellarle)? questo è il codice che attualmente utilizzo per creare la copia congelata del file
Codice: Seleziona tutto
Sub freezer()
'Crea una Copia congelata del file corrente
Dim fArr, peppaF As String, I As Long
'
peppaF = ThisWorkbook.Path & "Nome" & ThisWorkbook.Name
'
ThisWorkbook.SaveCopyAs peppaF
Application.EnableEvents = False
'Apre e "congela" la copia:
    Workbooks.Open peppaF
    For I = 1 To Worksheets.Count
        Sheets(I).Select
        fArr = Range(Range("A1"), Cells.SpecialCells(xlCellTypeLastCell)).Value
        Range(Range("A1"), Cells.SpecialCells(xlCellTypeLastCell)) = fArr
    Next I
    Worksheets(1).Select
    MsgBox ("File immagine creato" & vbCrLf & _
        "Ora dovrai scegliere percorso e nome file di salvataggio")
    Application.Dialogs(xlDialogSaveAs).Show
    ActiveWorkbook.Close
    ThisWorkbook.Activate
Application.EnableEvents = True
Kill peppaF
End Sub
Fabiolan
Utente Junior
 
Post: 65
Iscritto il: 12/02/17 19:19

Re: Macro nuovo file Excel

Postdi Anthony47 » 01/03/17 01:51

Hai fatto bene a usare kill.
Se non vuoi le macro devi salvare in formato .xlsx

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 19181
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Macro nuovo file Excel

Postdi ricky53 » 01/03/17 13:21

Ciao Fabio,
prima leggi quanto ti ha scritto Anthony.

nell'istruzione
Codice: Seleziona tutto
peppaF = ThisWorkbook.Path & "Nome" & ThisWorkbook.Name


manca la "\" dopo .Path

ecco la versione corretta
Codice: Seleziona tutto
peppaF = ThisWorkbook.Path & "\Nome" & ThisWorkbook.Name


altrimenti ti trovi il file in un'altra cartella e con la parte iniziale del nome uguale all'ultima parte del percorso del ".Path"
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. W10; Office 2003-10-13-16-19
Avatar utente
ricky53
Utente Senior
 
Post: 4565
Iscritto il: 11/04/09 19:29
Località: Italia


Torna a Applicazioni Office Windows


Topic correlati a "Macro nuovo file Excel":


Chi c’è in linea

Visitano il forum: Nessuno e 38 ospiti