E' possibile far salvare un foglio senza le macro?

Anonimo
2012-12-01T15:48:16+00:00

Nota del Moderatore. Titolo originale: Non trovando post con la risposta formulo la domanda.---------------

Ciao a tutti, uso questa macro per salvare un nuovo foglio, ma assieme al foglio vengono salvate anche le macro, è possibile far salvare il foglio senza le macro ? grazie per le risposte.

Public Sub salvadati()

Dim sPath As String

Dim sName As String

sPath = "C:\Prova"

With ThisWorkbook

With .Worksheets(1)

sName = .Range("E6").Value & " " & _

.Range("I6").Value & ".xls"

End With

.SaveAs Filename:=sPath & sName, _

FileFormat:=xlExcel8

End With

End Sub

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

Anonimo
2012-12-03T15:26:00+00:00

Ciao, ti ringrazio per l'interessamento e il suggerimento del sito, ma mastico malissimo l'inglese, quello che so è preso dai vari siti, blog, il codice vba idem. Comunque sono arrivato qui.

<cut>

NOTA. Il forum nasce per risolvere piccoli problemi legati a Excel ed al suo vb, non per creare applicazioni complete. Sull'argomento hai avuto diverse risposte che potevano se comprese e messe assieme, risolvere il tuo problema.

ORA. Posto una soluzione completa, da adattare al tuo contesto*.*****C'è tutto quello che ti serve, devi solo modificarla con i tuoi riferimenti, il file Modello.xls da scaricare qui:

https://skydrive.live.com/?cid=0361684D94BB851A#cid=0361684D94BB851A&id=361684D94BB851A%21169

Come funziona.

  • Il file Modello (non un vero modello di Excel) contiene tre fogli: Maschera, Storico e Start
  • Maschera è un foglio che servirà appunto da maschera, Storico conterrà lo storico dei documenti emessi e Start i comandi
  • Nel Foglio Start il pulsante NuovoFile crea un nuovo file che contiene solo un foglio Maschera, identico a quello che hai nel foglio Modello
  • Una volta compilato, premendo CTRL+a viene salvato e alcuni dati vengono copiati in Storico
  • A questo punto ti ritrovi in Modello, foglio Start dove puoi selezionare di creare un ulteriore file o chiudere Modello

CONSIGLIO di non utilizzare la strada che hai intrapreso di eliminare il codice. Non è così semplice. Devi solo adattare il foglio Maschera alle tue necessità e modificare eventualmente i riferimenti alle celle che nella mia Maschera contengono il numero, il nome e la data.

La risposta è stata utile?

0 commenti Nessun commento

7 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2012-12-03T18:06:07+00:00

    NOTA. Il forum nasce per risolvere piccoli problemi legati a Excel ed al suo vb, non per creare applicazioni complete. Sull'argomento hai avuto diverse risposte che potevano se comprese e messe assieme, risolvere il tuo problema.

    ORA. Posto una soluzione completa, da adattare al tuo contesto*.*****C'è tutto quello che ti serve, devi solo modificarla con i tuoi riferimenti, il file Modello.xls da scaricare qui:

    https://skydrive.live.com/?cid=0361684D94BB851A#cid=0361684D94BB851A&id=361684D94BB851A%21169

    Come funziona.

    • Il file Modello (non un vero modello di Excel) contiene tre fogli: Maschera, Storico e Start
    • Maschera è un foglio che servirà appunto da maschera, Storico conterrà lo storico dei documenti emessi e Start i comandi
    • Nel Foglio Start il pulsante NuovoFile crea un nuovo file che contiene solo un foglio Maschera, identico a quello che hai nel foglio Modello
    • Una volta compilato, premendo CTRL+a viene salvato e alcuni dati vengono copiati in Storico
    • A questo punto ti ritrovi in Modello, foglio Start dove puoi selezionare di creare un ulteriore file o chiudere Modello

    CONSIGLIO di non utilizzare la strada che hai intrapreso di eliminare il codice. Non è così semplice. Devi solo adattare il foglio Maschera alle tue necessità e modificare eventualmente i riferimenti alle celle che nella mia Maschera contengono il numero, il nome e la data. 

    Grazie, ma non riesco a scaricarlo, gli altri zip li scarico normalmente, quello funzionalità-fatturazione, almeno dal codice credo sia quello, non riesco a scaricarlo.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2012-12-03T13:15:21+00:00

    In rete ho trovato questa....

    <cut>

    Ma esce errore quando eseguo il codice su questa stringa.

    For Each VBC In .VBComponents


    Grazie a tutti.

    Mancano i riferimenti. Vedi qui:

    http://www.cpearson.com/excel/vbe.aspx

     

     

     

    Ciao, ti ringrazio per l'interessamento e il suggerimento del sito, ma mastico malissimo l'inglese, quello che so è preso dai vari siti, blog, il codice vba idem. Comunque sono arrivato qui.

    Dim sPath As String

    Dim sName As String

    sPath = "C:\Prova"

    With ThisWorkbook

    With .Worksheets(1)

    sName = .Range("D7").Value & " " & _

    .Range("G7").Value & ".xls"

    End With

    .SaveAs Filename:=sPath & sName, _

    FileFormat:=xlOpenXMLTemplate

    End With

    Workbooks.Open Filename:= _

    "C:\Users\Mario\Music\Modulo domande di lavoro base1..xlsm"

    ActiveWorkbook.Save

    ActiveWindow.Close

    End Sub

    Quando eseguo questa macro salvo il file con il nome dei dati inseriti nelle celle D7 e G7 senza le macro e si riapre in automatico il foglio con le macro per inserire altri dati.

    Quando apro il file salvato mi esce un popup con scritto:

    " Il formato del file che si sta cercando di aprire " segue nome file e posizione " è diverso da quello specificato dall'estensione del file. Prima di aprire il file, etc....."

    apro comunque il file e mi compare compilato in tutti i suoi campi senza errori e senza macro.

    Vorrei togliere questo fastidioso popup, ripeto, se riesci a scrivere tu la macro mi faresti un favore, oramai i dati li hai tutti e sai cosa vorrei fare, non credo sia difficile ma a 60 anni manca la voglia che ha un giovane. Grazie di avermi seguito fino a qui.  Mario

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2012-12-03T11:43:49+00:00

    In rete ho trovato questa....

    <cut>

    Ma esce errore quando eseguo il codice su questa stringa.

    For Each VBC In .VBComponents


    Grazie a tutti.

    Mancano i riferimenti. Vedi qui:

    http://www.cpearson.com/excel/vbe.aspx

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2012-12-02T10:43:16+00:00

    In rete ho trovato questa....

    Sub CopiaFoglio()

    Dim VBC As Object

    Dim p As String

    p = ActiveWorkbook.Path

    ActiveSheet.Copy 'crea una nuova cartella

    ActiveWorkbook.SaveAs p & "\Cartel2" '...o il nome che preferisci...

    With ActiveWorkbook.VBProject

    For Each VBC In .VBComponents

    If VBC.Type = 100 Then

    With VBC.CodeModule

    .DeleteLines 1, .CountOfLines

    .CodePane.Window.Close

    End With

    Else: .VBComponents.Remove VBC

    End If

    Next VBC

    End With

    End Sub

    Ho provato ad abbinarla a quella che uso io in questo modo. in grassetto le stringhe aggiunte.

    Public Sub salvadati()

    Dim VBC As Object

    Dim sPath As String

    Dim sName As String

    sPath = "C:\Prova"

    With ThisWorkbook

    With .Worksheets(1)

    sName = .Range("E6").Value & " " & _

    .Range("I6").Value & ".xls"

    End With

    With ActiveWorkbook.VBProject

    For Each VBC In .VBComponents

    If VBC.Type = 100 Then

    With VBC.CodeModule

    .DeleteLines 1, .CountOfLines

    .CodePane.Window.Close

    End With

    Else: .VBComponents.Remove VBC

    End If

    Next VBC

    End With

    .SaveAs Filename:=sPath & sName, _

    FileFormat:=xlExcel8

    End With

    End Sub

    Ma esce errore quando eseguo il codice su questa stringa.

    For Each VBC In .VBComponents


    Grazie a tutti.

    La risposta è stata utile?

    0 commenti Nessun commento