salvare un foglio excel con una macro
Hai un problema con Excel?
salvare un foglio excel con una macro
di gigione57 (utente non iscritto) data: 31/03/2015 23:54:55
Buona sera, chiedo un aiuto da parte Vostra.......vorrei salvare un range di celle, trasformarlo in formato PDF e il tutto salvarlo in un'altra cartella tramite una macro e nominarlo con la data odierna e ora, dopo fatto questo cancellare nel primo foglio (l'originale) il contenuto di alcune celle ( cosi facendo e' pronto il foglio (primario) per essere compilato nuovamente)
Spero di essermi spiegato bene, nell'attesa di ricevere un vostro cenno Vi saluto e ringrazio
di alfrimpa data: 01/04/2015 14:23:52
Ciao Gigione57
La cosa che chiedi è abbastanza semplice da realizzarsi (io l'ho già fatto seppur in situazioni diverse).
Il problema sta nel nome del file che tu dici debba essere la data e l'ora corrente; purtroppo in questa stringa sono contenuti caratteri (":" e "/") che non sono ammessi nei nomi dei file (ho provato in vari modi ma l'esecuzione della macro andava sempre in debug dandomi errore di run-time.
Non so se c'è modo di superare questa difficoltà ed in attesa di pareri più qualificati del mio ti chiedo se hai alternative alla denominazione dei file (magari scrivendo una stringa in una cella e prendere il nome del file da lì).
Alfredo
di Luca73 data: 01/04/2015 14:31:09
Per eliminare il problema dei caratteri speciali puoi formattare ad hoc data ed ora
per il resto lascio a alfrimpa che ha già usato il codice
NomeVoluto = Format(Date, "ddmmyyyy") & Format(Time, "hhmm") |
di alfrimpa data: 01/04/2015 14:52:08
Grazie Luca
Farò tesoro del tuo suggerimento e proverò a scrivere la macro tenendone conto.
Alfredo
di alfrimpa data: 01/04/2015 15:09:50
Ciao Gigione57
Grazie all'aiuto di Luc73 ti propongo la sottostante macro (ottenuta con il registratore di macro).
Non so se era quello che cercavi.
Alfredo
Sub SalvaPdf()
Dim today As Variant
today = Now
today = Format(Date, "ddmmyyyy") & Format(Time, "hhmm")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
"C:Excel" & today & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
True, IgnorePrintAreas:=False, OpenAfterPublish:=False '<---- modificare con il tuo percorso
Range("a1:d10").ClearContents '<------ da modificare secondo il tuo range
End Sub
|
di gigione57 (utente non iscritto) data: 01/04/2015 23:20:28
Grazie alfrimpa ho fatto le modifiche che mi hai detto, funziona tutto......ma...... ti chiedo dove devo inserire il comando "range" (spero che si chiami cosi') perche' vorrei trasformare in PDF solo una parte del foglio -non tutto-
Ancora grazie anticipato
Luigi
di alfrimpa data: 01/04/2015 23:41:05
Ciao Luigi. Bella domanda
Non so se per fare quello che chiedi sia sufficiente sostituire:
"ActiveSheet.ExportAsFixedFormat....." con
"ActiveSheet.Range("A1:D10").ExportAsFixedFormat....."
Se non dovesse funzionare, un escamotage potrebbe essere quello di copiare la zona (Range) interessata in un nuovo foglio bianco e salvare solo quello.
Domani faccio delle prove e ti faccio sapere.
A presto.
Alfredo
di gigione57 (utente non iscritto) data: 02/04/2015 00:29:42
Alfredo, grazie per il tuo interessamento , ma non funziona........non posso copiare in un foglio bianco come proponi tu
Rimango ancora in attesa di ricevere info da parte di qualcuno.
Grazie
di alfrimpa data: 02/04/2015 10:35:05
Ciao Luigi
Ho provato con la sottostante macro (modificata come ti avevo anticipato ieri sere) e funziona perfettamente (non so tu come abbia provato).
Sul pdf appare solo la zona A1:D10 nonostante il foglio fosse riempito anche in altre parti.
Alfredo
Sub SalvaPdf()
Dim today As Variant
today = Now
today = Format(Date, "ddmmyyyy") & Format(Time, "hhmm")
Range("a1:d10").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ '<---- Modifica la zona con la tua
"C:Excel" & today & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:= _
True, IgnorePrintAreas:=False, OpenAfterPublish:=False '<---- modificare con il tuo percorso
Range("a1:d10").ClearContents '<------ da modificare secondo il tuo range
End Sub
|
Vuoi Approfondire?