Se lavori con molte cartelle di lavoro aperte contemporaneamente, sai che può essere complicato esaminare e salvare ciascuna cartella di lavoro aperta, una alla volta. Non sarebbe bello avere un unico comando che ti permettesse di salvare tutte le cartelle di lavoro aperte, senza la necessità di farlo manualmente?
Sfortunatamente, non esiste un comando di questo tipo nelle versioni di Excel che utilizzano l’interfaccia della barra multifunzione, ma puoi crearne uno utilizzando una macro. Quello che segue è un buon esempio di una che potresti usare:
Sub SalvaTutto()
Dim Wkb As Workbook
For Each Wkb In Workbooks
If Not Wkb.ReadOnly And Windows(Wkb.Name).Visible Then
Wkb.Save
End If
Next
End Sub
Salva la macro nella tua cartella di lavoro personale, assegnala alla barra di accesso rapido o a un tasto di scelta rapida e puoi richiamarla tutte le volte che vuoi. Salva tutte le cartelle di lavoro aperte, ad eccezione di quelle in sola lettura o nascoste.
Nel caso la tua esigenza fosse quella di salvare tutte le cartelle di lavoro aperte in una directory particolare, occorrerebbe apportare qualche piccola modifica, in modo da utilizzare non il metodo Save, ma il metodo SaveAs. In questo metodo, il primo argomento, FileName:= , è il percorso completo e il nome del file:
Sub SalvaTutto2()
Dim Wkb As Workbook
Dim directory as string
directory = "C:\MiaCartella"
For Each Wkb In Workbooks
If Not Wkb.ReadOnly And Windows(Wkb.Name).Visible Then
Wkb.SaveAs Filename:=directory & "\" & Wkb.Name
End If
Next
End Sub
Ovviamente dovrai modificare il percorso memorizzato nella variabile directory per adattarlo alla posizione in cui desideri salvare il file.