Discussione:
Macro salva con nome predefinito
(troppo vecchio per rispondere)
stefycr
2006-06-05 12:54:02 UTC
Permalink
Vorrei creare un pulsante macro su un foglio di excel che mi consenta di fare
questo: Salvare il foglio con un nome che corrisponde a ciò che appare
scritto nella cella A2 e B2 del foglio. Come si realizza questa macro?
Attendo un Vs. gradito riscontro in merito. Saluti a tutti. Stefy
--
stefycr
Mauro Gamberini
2006-06-05 13:22:58 UTC
Permalink
Post by stefycr
Vorrei creare un pulsante macro su un foglio di excel che mi consenta di fare
questo: Salvare il foglio con un nome che corrisponde a ciò che appare
scritto nella cella A2 e B2 del foglio. Come si realizza questa macro?
Attendo un Vs. gradito riscontro in merito. Saluti a tutti. Stefy
E se lo facciamo tramite un pulsante di scelta rapida?

ALT+F11 e sei nell'editor del vba.
Inserisci-->Modulo
Copia incolla sul foglio bianco questo:

Public Sub m()

With ActiveSheet

ActiveWorkbook.SaveAs "C:\Pippo\" & .Range("A2").Value & _
.Range("B2").Value & ".xls"

End With


End Sub

Adesso ALT+F11 e torni in Excel
Strumenti-->Macro-->Macro
Click su: m
Click su: Opzioni
Metti una a minuscola a fianci di CTRL.
Ok

Qui ti viene salvato nella cartella Pippo nel
dico C:
Cambia eventualmente l'indirizzo con il tuo.
--
----------------------------
Mauro Gamberini
http://www.riolab.org/
Mauro Gamberini
2006-06-05 13:30:46 UTC
Permalink
Dimenticavo...
Adesso premi assieme CTRL + a per
far partire la macro...
--
----------------------------
Mauro Gamberini
http://www.riolab.org/
Luca
2006-06-05 13:58:44 UTC
Permalink
Post by Mauro Gamberini
Dimenticavo...
Adesso premi assieme CTRL + a per
far partire la macro...
--
----------------------------
Mauro Gamberini
http://www.riolab.org/
Ok e se volessi salvare solo un foglio o 2 di tutto il mio lavoro come
faccio?
Luca
2006-06-05 14:07:28 UTC
Permalink
Post by Luca
Ok e se volessi salvare solo un foglio o 2 di tutto il mio lavoro come
faccio?
E se dovessi salvare il file cosi: c:\(nomecellaA1)-(nomecellaB4).xls
cosa devo aggiungere nella stringa??
eliano
2006-06-05 14:24:02 UTC
Permalink
Post by Luca
Post by Luca
Ok e se volessi salvare solo un foglio o 2 di tutto il mio lavoro come
faccio?
E se dovessi salvare il file cosi: c:\(nomecellaA1)-(nomecellaB4).xls
cosa devo aggiungere nella stringa??
Ciao Luca.
Se .. (nomecellaA1)-(nomecellaB4) non è una formula, ma vuoi solo inserire
"-" nel nome del file excel, &"-"& fra RangeA1 e RangeB4.
Saluti
Eliano
Mauro Gamberini
2006-06-05 14:25:21 UTC
Permalink
Post by Luca
E se dovessi salvare il file cosi: c:\(nomecellaA1)-(nomecellaB4).xls
cosa devo aggiungere nella stringa??
Ma quello che vedo è un meno?
O cosa?
--
----------------------------
Mauro Gamberini
http://www.riolab.org/
eliano
2006-06-05 14:51:01 UTC
Permalink
Post by Mauro Gamberini
Post by Luca
E se dovessi salvare il file cosi: c:\(nomecellaA1)-(nomecellaB4).xls
cosa devo aggiungere nella stringa??
Ma quello che vedo è un meno?
O cosa?
Io Amplifon, tu B&L?:-))
Ciao
Eliano
Mauro Gamberini
2006-06-05 14:55:37 UTC
Permalink
Post by eliano
Io Amplifon, tu B&L?:-))
Ma ROTFL!!!

10-5 <-----Meno
Ciao-Eliano <----- Trattino
--
----------------------------
Mauro Gamberini
http://www.riolab.org/
eliano
2006-06-05 15:20:02 UTC
Permalink
Post by Mauro Gamberini
Post by eliano
Io Amplifon, tu B&L?:-))
Ma ROTFL!!!
10-5 <-----Meno
Ciao-Eliano <----- Trattino
--
Acc..... non pensavo al codice ascii, scusa. [°-)]
Ciao [alt+45]
Eliano
Luca
2006-06-05 15:12:32 UTC
Permalink
Post by Mauro Gamberini
Post by Luca
E se dovessi salvare il file cosi: c:\(nomecellaA1)-(nomecellaB4).xls
cosa devo aggiungere nella stringa??
Ma quello che vedo è un meno?
O cosa?
--
----------------------------
Mauro Gamberini
http://www.riolab.org/
Si era un meno.... problema:

Public Sub Salvafile()

With ActiveSheet


ActiveWorkbook.SaveAs "C:\" & .Range("G15").Value & "-" & _
.Range("H15").Value & ".xls"


End With

Dim s1 As String
Dim s2 As String


With Worksheets("Foglio1")
s1 = .Range("G15").Value
s2 = .Range("H15").Value
End With


With ActiveWorkbook


Application.DisplayAlerts = False
.Worksheets("Foglio2").Delete
.Worksheets("Foglio3").Delete
.Worksheets("Foglio4").Delete
.Worksheets("Foglio5").Delete
.Worksheets("Foglio6").Delete
Application.DisplayAlerts = True


.SaveAs "C:\backup\" & s1 & "--" & s2 & ".xls"


End With


End Sub


Mi da errore indicandomi: "With Worksheets("Foglio1")" indice non
incluso nell'intervallo .... che devo fare? Il foglio di riferimento è
stato rinominato... io cosi facendo non dico al programma lasciami il
primo foglio e elimina gli altri 5?
eliano
2006-06-05 15:40:02 UTC
Permalink
Post by Luca
Public Sub Salvafile()
With ActiveSheet
ActiveWorkbook.SaveAs "C:\" & .Range("G15").Value & "-" & _
.Range("H15").Value & ".xls"
End With
Dim s1 As String
Dim s2 As String
With Worksheets("Foglio1")
s1 = .Range("G15").Value
s2 = .Range("H15").Value
End With
With ActiveWorkbook
Application.DisplayAlerts = False
.Worksheets("Foglio2").Delete
.Worksheets("Foglio3").Delete
.Worksheets("Foglio4").Delete
.Worksheets("Foglio5").Delete
.Worksheets("Foglio6").Delete
Application.DisplayAlerts = True
.SaveAs "C:\backup\" & s1 & "--" & s2 & ".xls"
End With
End Sub
Mi da errore indicandomi: "With Worksheets("Foglio1")" indice non
incluso nell'intervallo .... che devo fare? Il foglio di riferimento è
stato rinominato... io cosi facendo non dico al programma lasciami il
primo foglio e elimina gli altri 5?
Ciao Luca.
La sub funziona (excel 2000), a parte le doppie lineette, quindi o non hai 6
fogli nel workbook, o immetti qualche carattere che excel non gradisce in s1
o s2; penserei ai fogli.
Comunque sentiamo Mauro, io non faccio testo.
Ciao
Eliano
eliano
2006-06-05 15:44:02 UTC
Permalink
Post by Luca
Mi da errore indicandomi: "With Worksheets("Foglio1")" indice non
incluso nell'intervallo .... che devo fare? Il foglio di riferimento è
stato rinominato... io cosi facendo non dico al programma lasciami il
primo foglio e elimina gli altri 5?
Che significa rinominato ? Con che nome ? Il foglio "Foglio1" esiste ?
Mauro Gamberini
2006-06-05 15:46:34 UTC
Permalink
Mi da errore indicandomi: "With Worksheets("Foglio1")" indice non
incluso nell'intervallo .... che devo fare? Il foglio di riferimento è
stato rinominato... io cosi facendo non dico al programma lasciami il
primo foglio e elimina gli altri 5?
***********************************


Ma tu hai un Foglio1?
Sostituisci a Foglio1 il nome del tuo Foglio.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
eliano
2006-06-05 20:45:02 UTC
Permalink
Post by Luca
Mi da errore indicandomi: "With Worksheets("Foglio1")" indice non
incluso nell'intervallo .... che devo fare? Il foglio di riferimento è
stato rinominato... io cosi facendo non dico al programma lasciami il
primo foglio e elimina gli altri 5?
***********************************
Ma tu hai un Foglio1?
Sostituisci a Foglio1 il nome del tuo Foglio.
Caro Mauro,
sono trascorse circa 5 ore dalla tua domanda, ma da Luca solo un silenzio
assordante.
Sicuramente dalle parti di torino scorreranno fiumi di birra come
corrispettivo di consulenze, ma disgraziatamente questo è un NG che non
fornisce consulenze,ma solo consigli in forma gratuita che potrebbrero
servire a molti; e siccome è tutto gratuito, chi se ne frega!
Quindi, come dice il Poeta, lasciate ogni speranza o voi che ...
consigliate.:-))
Saluti
Eliano
Luca
2006-06-06 07:07:09 UTC
Permalink
Post by eliano
Post by Luca
Mi da errore indicandomi: "With Worksheets("Foglio1")" indice non
incluso nell'intervallo .... che devo fare? Il foglio di riferimento è
stato rinominato... io cosi facendo non dico al programma lasciami il
primo foglio e elimina gli altri 5?
***********************************
Ma tu hai un Foglio1?
Sostituisci a Foglio1 il nome del tuo Foglio.
Caro Mauro,
sono trascorse circa 5 ore dalla tua domanda, ma da Luca solo un silenzio
assordante.
Sicuramente dalle parti di torino scorreranno fiumi di birra come
corrispettivo di consulenze, ma disgraziatamente questo è un NG che non
fornisce consulenze,ma solo consigli in forma gratuita che potrebbrero
servire a molti; e siccome è tutto gratuito, chi se ne frega!
Quindi, come dice il Poeta, lasciate ogni speranza o voi che ...
consigliate.:-))
Saluti
Eliano
Ehehe ho risolto solo che devo ogni tanto lavorare... questo lo faccio
a tempo perso

Problema... ora che ho fatto tutto sto coso.... mi servirebbe:

1) Che quando salva il file mi restasse sul file originanale di excel
ora invece mi va su quello salvato (spero di essere stato chiaro) si
può fare???

2) Per dare un percorso su un server basta che digiti:

ActiveWorkbook.SaveAs "\\PC10\offerte\backup\" & .Range("G15").Value &
"_" & _
.Range("H15").Value & ".xls"

Giusto?
Luca
2006-06-06 07:10:06 UTC
Permalink
Post by Luca
Post by eliano
Post by Luca
Mi da errore indicandomi: "With Worksheets("Foglio1")" indice non
incluso nell'intervallo .... che devo fare? Il foglio di riferimento è
stato rinominato... io cosi facendo non dico al programma lasciami il
primo foglio e elimina gli altri 5?
***********************************
Ma tu hai un Foglio1?
Sostituisci a Foglio1 il nome del tuo Foglio.
Caro Mauro,
sono trascorse circa 5 ore dalla tua domanda, ma da Luca solo un silenzio
assordante.
Sicuramente dalle parti di torino scorreranno fiumi di birra come
corrispettivo di consulenze, ma disgraziatamente questo è un NG che non
fornisce consulenze,ma solo consigli in forma gratuita che potrebbrero
servire a molti; e siccome è tutto gratuito, chi se ne frega!
Quindi, come dice il Poeta, lasciate ogni speranza o voi che ...
consigliate.:-))
Saluti
Eliano
Ehehe ho risolto solo che devo ogni tanto lavorare... questo lo faccio
a tempo perso
1) Che quando salva il file mi restasse sul file originanale di excel
ora invece mi va su quello salvato (spero di essere stato chiaro) si
può fare???
ActiveWorkbook.SaveAs "\\PC10\offerte\backup\" & .Range("G15").Value &
"_" & _
.Range("H15").Value & ".xls"
Giusto?
Mi andrebbe bene come alternativa che il programma si chiudesse da solo
quando eseguo il codice!
Mauro Gamberini
2006-06-06 07:15:35 UTC
Permalink
Mi andrebbe bene come alternativa che il programma si chiudesse da solo
quando eseguo il codice!
***************************************************

Spiegare, grazie.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Luca
2006-06-06 07:26:00 UTC
Permalink
Post by Luca
Mi andrebbe bene come alternativa che il programma si chiudesse da solo
quando eseguo il codice!
***************************************************
Spiegare, grazie.
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Apro excel, apro il file "Modulo.xls" eseguo la macro e il file su cui
lavoro diventa 01LR.xls, io devo chiudere il file 01lr.xls e riaprire
il file Modulo.xls per poter fare 02LR.xls, perchè se no mi da errore
se faccio il file 02lr dal file 01lr. Ho due alternative:

1) che mi si apri alla fine della macro di nuovo il file "modulo.xls"
2) che mi chiuda excel

Sono interessato a entrambe le possibilità
Mauro Gamberini
2006-06-06 07:28:26 UTC
Permalink
2) che mi chiuda excel
****************************

Dai un'occhiatina al metodo:
Close
Nella guida vba di Excel
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Luca
2006-06-06 08:39:53 UTC
Permalink
Grazie... ho dovuto andare su un pc di un collega che non ho installato
la guida sul mio
Norman Jones
2006-06-06 09:54:04 UTC
Permalink
Ciao Luca,
non ho installato la guida sul mio (pc)
Mi sembra un po' come uscire durante l'inverno senza vestiti! <vbg>


---
Regards,
Norman
eliano
2006-06-06 10:43:02 UTC
Permalink
Post by Norman Jones
Ciao Luca,
non ho installato la guida sul mio (pc)
Mi sembra un po' come uscire durante l'inverno senza vestiti! <vbg>
---
Regards,
Norman
Anche Voi Scozzesi ogni tanto vi ..... dimenticate qualcosa.:-))
Ciao
Eliano
Luca
2006-06-06 11:42:31 UTC
Permalink
Eheheh suvvia... non ho la guida che ci posso fare??? Chiedo a voi :D
Post by eliano
Post by Norman Jones
Ciao Luca,
non ho installato la guida sul mio (pc)
Mi sembra un po' come uscire durante l'inverno senza vestiti! <vbg>
---
Regards,
Norman
Anche Voi Scozzesi ogni tanto vi ..... dimenticate qualcosa.:-))
Ciao
Eliano
Norman Jones
2006-06-06 11:53:01 UTC
Permalink
Ciao Eliano,
Post by eliano
Voi Scozzesi
MAH!!!


---
Regards,
Norman
eliano
2006-06-06 13:08:02 UTC
Permalink
Post by Norman Jones
Ciao Eliano,
Post by eliano
Voi Scozzesi
MAH!!!
Sorry Norman, credevo che tu venissi dalla bella Scozia ed il senso della
mia frase era: "What about under the kilt?" signed by the spanish cow!:-))
Saluti
Eliano
Norman Jones
2006-06-06 13:24:41 UTC
Permalink
Ciao Eliano,
Post by eliano
What about under the kilt?"
Il kilt avevo capito.

Comunque, la Scozia non si è qualificata per i finali della World Cup - la
mia squadra, però, vincerà!


---
Regards,
Norman
Mauro Gamberini
2006-06-06 13:46:45 UTC
Permalink
Post by Norman Jones
Comunque, la Scozia non si è qualificata per i finali della World Cup - la
mia squadra, però, vincerà!
Sì sì...

Quando vengo a Londra in Agosto ci troviamo
in un pub e giù birra per dimenticare tutti e due:

- i mondiali
- le ultime 2 finali di champions

8-(
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Norman Jones
2006-06-06 14:08:33 UTC
Permalink
Ciao Mauro,
Post by Mauro Gamberini
Quando vengo a Londra in Agosto ci troviamo
in un pub
Ben volentieri!!! Non vedo l'ora.
Post by Mauro Gamberini
- i mondiali
- le ultime 2 finali di champions
Beh, forse una birra per la sconda, ma indubbiamente la champagne per
celebrare la vittoria (nostra) nei mondiali!


---
Regards,
Norman
Mauro Gamberini
2006-06-06 14:13:01 UTC
Permalink
Post by Norman Jones
Beh, forse una birra per la sconda, ma indubbiamente la champagne per
celebrare la vittoria (nostra) nei mondiali!
Attento che ti chiudiamo dentro all'ng e poi....
8-)
--
---------------------------
Mauro Gamberini
http://www.riolab.org/
Mauro Gamberini
2006-06-05 14:22:31 UTC
Permalink
Post by Luca
Ok e se volessi salvare solo un foglio o 2 di tutto il mio lavoro come
faccio?
Ad esempio eliminare quelli che non vuoi:

Public Sub m()

Dim s1 As String
Dim s2 As String

With Worksheets("Foglio3")
s1 = .Range("A2").Value
s2 = .Range("B2").Value
End With

With ActiveWorkbook

Application.DisplayAlerts = False
.Worksheets("Foglio1").Delete
.Worksheets("Foglio2").Delete
Application.DisplayAlerts = True

.SaveAs "C:\Pippo\" & s1 & s2 & ".xls"

End With

End Sub
--
----------------------------
Mauro Gamberini
http://www.riolab.org/
Mauro Gamberini
2006-06-05 14:40:11 UTC
Permalink
Provo a prevenire la prossima domanda....
Se non vuoi salvare le formule e i riferimenti
ma solo i valori:

Public Sub m()

Dim s1 As String
Dim s2 As String

Application.ScreenUpdating = False

With Worksheets("Foglio3")
s1 = .Range("A2").Value
s2 = .Range("B2").Value
End With

With ActiveWorkbook

With Worksheets("Foglio3")
.Cells.Copy
.Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
.Range("A1").Select
End With

Application.DisplayAlerts = False
.Worksheets("Foglio1").Delete
.Worksheets("Foglio2").Delete
Application.DisplayAlerts = True

.SaveAs "C:\Pippo\" & s1 & s2 & ".xls"

End With

Application.ScreenUpdating = True

End Sub

Occhio ai riferimenti e occhio che non ho corretto
eventuali errori.
--
----------------------------
Mauro Gamberini
http://www.riolab.org/
Loading...