| | Post: 1 | Registrato il: 22/05/2018
| Città: FROSSASCO | Età: 58 | Utente Junior | 2010 | | OFFLINE | |
|
22/05/2018 21:52 | |
Buonasera a tutti,
mi sono appena iscritto, per cercare di risolvere un problema, che vado ad esporre.
Ho la necessità, quando salvo un foglio excel, che mi si apra la finestra classica del salvataggio, dopo posso dare il nome e la cartella in cui lo voglio memorizzare, ma il nome dovrebbe essere già formattato, con un valore ottenuto concatenando 2 celle del foglio.
Grazie a chi mi potrà aiutare.
Daniele G |
|
| | Post: 2.949 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
22/05/2018 22:24 | |
Buona sera, Daniele; sarebbe opportuno allegassi sempre un file (senza Dati sensibili) con alcuni Record significativi già inseriti e chiarissi ciò che desideri ottenere. Questo eviterebbe a chi desidera aiutarti dover ricostruire una probabile struttura con il rischio di non centrare l'obiettivo. A disposizione. Buona serata. Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 1 | Registrato il: 22/05/2018
| Città: FROSSASCO | Età: 58 | Utente Junior | 2010 | | OFFLINE | |
|
23/05/2018 17:25 | |
Buonasera Giuseppe, e grazie per l'interessamento.
In realtà non ho ancora il mio foglio excel, ma quello che voglio ottenere si può simulare semplicemente:
Si apre Excel per creare un nuovo documento, si valorizza a caso 2 celle (ad esempio in A:1 ci scrivo la stringa "Documento", e in B:1 ci scrivo una data 23-05-2018).
A questo punto premendo sul pulsante che salva il file, vorrei che si aprisse la classica finestra di salvataggio, con il nome file già formattato : "Documento23-05-2081", in modo che l'utende debba solamente scegliere la cartella dove salvarlo.
Spero di essermi spiegato al meglio.
Grazie ancora
Daniele G |
| | Post: 2.963 | Registrato il: 03/04/2013
| Utente Veteran | Excel 2000 - 2013 | | OFFLINE | |
|
24/05/2018 06:43 | |
Buona giornata, Daniele;
potresti provare con:
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim Pth As String, Fll As String
Application.EnableEvents = False
Pth = Application.InputBox("Inserire la directory")
Fll = Pth & Cells(1, 1) & "-" & Day(Cells(1, 2)) & "-" & Month(Cells(1, 2)) & "-" & Year(Cells(1, 2)) & ".xlsm"
Application.DisplayAlerts = False
ChDir Pth
ActiveWorkbook.SaveAs Filename:=Fll
Application.EnableEvents = True
Application.DisplayAlerts = True
End Sub
Buon Lavoro.
Giuseppe
Windows XP - Excel 2000
Windows 10 - Excel 2013 |
| | Post: 1.860 | Registrato il: 06/04/2013
| Utente Veteran | 2010 | | OFFLINE |
|
24/05/2018 11:43 | |
Ciao
qualora volessi "scegliere" la cartella di salvataggio e non digitarla, potresti usare:
Sub SaveSheet_As()
Dim NewName As Variant
Nome = Range("A1") & " " & Range("B1") & ".xlsx"
NewName = Application.GetSaveAsFilename( _
InitialFileName:=ActiveWorkbook.Path & "\" & _
Nome, FileFilter:="Excel Workbooks (*.xlsx), *.xlsx")
If NewName=False Then Exit Sub
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:=NewName, FileFormat:=xlOpenXMLWorkbook
ActiveWorkbook.Close
End Sub
NOTA BENE
Manca l'individuazione di eventuali errori, primo tra tutti l'esistenza del file nella cartella di destinazione.
saluti
[Modificato da dodo47 24/05/2018 11:46] Domenico
Win 10 - Excel 2016 |
|
|