Domanda.

nome=Pasquale
cognome=Caliano
versione=2000
conosco2=medio
macro=SI
email=p.caliano@vesuviana.it

Ciao Ennio, ti ringrazio per il tuo tempestivo interessamento che mi hanno consentito con i tuoi consigli di risolvere il grosso dei problemi, la cosa che non mi riesce č quella di assegnare la variabile "name_file" come nome del file.xls che deve copiare, mi dice sempre errore di sintassi. Ti allego la routine.
N.B il contenuto della cella K29 a cui mi riferisco nella routine contiene una data nel formato gg/mm/aaaa
Grazie
Ciao
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
Dim name_file As String
name_file = Range("K29").Value
ActiveWorkbook.SaveAs Filename:="C:\Caliano_P\ServizioStra\Backup Cond Etr\" &name_file& ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWindow.Close
End Sub

 

Risposta.

l'errore viene dal fatto che non si possono MAI usare nomi che contengo barre ( / ). Quindi, o scegli e provi con il formato cella gg-mm-aaaa (con i trattini), oppure estrai con Mid il giorno il mese e l'anno in modo da ottenere ggmmaaaa (senza divisori tra i dati). per esempio:
name_file = Mid(Range("K29"),1, 2) + Mid(Range("K29"),4, 2) + Mid(Range("K29"),7)
poi, nella riga:
Filename:="C:\Caliano_P\ServizioStra\Backup Cond Etr\" &name_file& ".xls",
ci vogliono gli spazi tra le & commerciali e il nome, cosė:
Filename:="C:\Caliano_P\ServizioStra\Backup Cond Etr\" & name_file & ".xls",
poi non mi ricordo se la tua versione 2000 accetta i nomi con spazi (vedi : Backup Cond Etr), nel caso leggiti sull'altro sito, sezione vba, il paragrafo: "Nomi con spazi vuoti".
Ora sei a posto, fammi sapere e leggiti il sito, ciao ennius