La lista delle macro di un foglio excel è scomparsa. Ma le macro continuano a funzionare!

Anonimo
2019-01-03T18:16:36+00:00

Buonasera.

Utilizzo Excel 2016 professional in un foglio dove lavorano alcune macro.

Vorrei cancellare una di queste, che si attiva automaticamente all'apertura del foglio. Tuttavia se vado nel menù "sviluppo" e clicco sulla lista delle macro trovo che l'elenco è vuoto. E' come se non ci fossero più macro disponibili che, però, sono presenti e perfettamente operative.

Come posso "ripopolare" la lista delle macro, oggi desolatamente vuota?

Un suggerimento sarebbe graditissimo.

Saluti

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
2019-01-05T05:12:00+00:00

Ciao Sergio,

ho caricato il file problematico su dropbox al link

https://www.dropbox.com/s/gqzf94i30o0exjz/Budget\_2018\_test.xlsm?dl=0

Il file non contiene dati sensibili. Una volta aperto, suggerisco di andare al foglio denominato "Avvertenze" come prima cosa, per capire la struttura del file. 

Ho scaricato il tuo file e ho svelato l'arcano!

Nel tuo file c'è solo una macro, ossia una procedura chiamata Auto_Open. Questa è una vecchia procedura di evento con scope Private che verrà eseguita ogni volta che il file viene aperto. Come con tutte le procedure con scope private, questa macro non sarà inclusa nell'elenco delle macro.

La cancellazione della macro nel tuo file avrà effetto solo sul file stesso, ma ovviamente si rifletterà in tutti i file che creerai dal file master.

Se desideri vedere la tua macro elencata nell'elenco delle macro, prova  a sostituire il tuo codice con qualcosa del genere:

'=========>>

Option Explicit

'--------->>

Private Sub Auto_Open()

    Call Evidenzia_Giorno

End Sub

'--------->>

Public Sub Evidenzia_Giorno()

    Range("A54").Select

    a = Range("A54").Value

    Range(Cells(1, a + 1), Cells(1, a + 1)).Select

    Range( _

            "B3:AF8,B11:AE13,B17:AE20,B22:AF25,B28:AF29,B31:AF34,B36:AF41,AF17:AF20,AF11:AF13" _

            ).Select

    With Selection.Interior

        .Pattern = xlNone

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    Range(Cells(3, a), Cells(8, a)).Select

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 11725054

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    Range(Cells(11, a), Cells(13, a)).Select

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 11725054

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    Range(Cells(17, a), Cells(20, a)).Select

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 11725054

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    Range(Cells(22, a), Cells(25, a)).Select

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 11725054

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    Range(Cells(28, a), Cells(29, a)).Select

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 11725054

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    Range(Cells(31, a), Cells(34, a)).Select

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 11725054

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    Range(Cells(36, a), Cells(41, a)).Select

    With Selection.Interior

        .Pattern = xlSolid

        .PatternColorIndex = xlAutomatic

        .Color = 11725054

        .TintAndShade = 0

        .PatternTintAndShade = 0

    End With

    Range(Cells(11, a), Cells(11, a)).Select

End Sub

'<<=========

Dovresti poi assegnare la procedura Evidenzia_Giorno ai pulsanti di interesse.

NB:

Non ho tentato di modificare o migliorare il codice esistente.

===

Regards,

Norman

La risposta è stata utile?

1 persona ha trovato utile questa risposta.
0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2019-01-04T13:38:19+00:00

    Grazie Norman

    ho caricato il file problematico su dropbox al link

    https://www.dropbox.com/s/gqzf94i30o0exjz/Budget\_2018\_test.xlsm?dl=0

    Il file non contiene dati sensibili. Una volta aperto, suggerisco di andare al foglio denominato "Avvertenze" come prima cosa, per capire la struttura del file.

    Grazie

    Sergio

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-01-04T10:20:27+00:00

    Ciao Sergio,

    Ho eseguito le operazioni suggerite ma non ho trovato la lista delle macro. La finestra che si apriva era vuota.

    Ho provato ad aggirare il problema aprendo "Visual Basic" dal menù "Sviluppo" del mio file. Ho trovato l'elenco dei fogli componenti il  file e una serie di "moduli" (modulo1, modulo2, ... modulo6). Ho cliccato su ciascuno di questi moduli e in uno di questi ho trovato la macro cercata. Ho provveduto a cancellarla, ho salvato e in effetti la macro non era più operativa. Ho però avuto la sgradita sorpresa di vederla cancellata in tutta una famiglia di file "cloni" che avevo ottenuto facendo copia/incolla da quello iniziale e poi cambiando il nome.

    Ho recuperato il file originale attraverso un ripristino da backup precedente, quindi non ho perso nulla. Ma mi rimane il dubbio: dove si trova la famosa lista delle macro? E perchè la cancellazione in un file della famiglia agisce su tutti i file della stessa famiglia?

    Ti chiederei gentilmente di caricare il file problematico, dopo averlo depurato dei dati sensibili, su un servizio di condivisione di file, ad esempio Microsoft OneDrive o DropBox, e postare un link al file in una risposta qui.

    Per caricare il file su Microsoft OneDrive, vedi:   

    Condividere file e cartelle di OneDrive

    Nel caso di DropBox, vedi:

    Come faccio a condividere file e cartelle in Dropbox?

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-01-04T08:23:45+00:00

    Ciao Norman, grazie per la risposta.

    Ho eseguito le operazioni suggerite ma non ho trovato la lista delle macro. La finestra che si apriva era vuota.

    Ho provato ad aggirare il problema aprendo "Visual Basic" dal menù "Sviluppo" del mio file. Ho trovato l'elenco dei fogli componenti il  file e una serie di "moduli" (modulo1, modulo2, ... modulo6). Ho cliccato su ciascuno di questi moduli e in uno di questi ho trovato la macro cercata. Ho provveduto a cancellarla, ho salvato e in effetti la macro non era più operativa. Ho però avuto la sgradita sorpresa di vederla cancellata in tutta una famiglia di file "cloni" che avevo ottenuto facendo copia/incolla da quello iniziale e poi cambiando il nome.

    Ho recuperato il file originale attraverso un ripristino da backup precedente, quindi non ho perso nulla. Ma mi rimane il dubbio: dove si trova la famosa lista delle macro? E perchè la cancellazione in un file della famiglia agisce su tutti i file della stessa famiglia?

    Un saluto

    Sergio

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-01-03T19:46:28+00:00

    Ciao Sergio,

    Utilizzo Excel 2016 professional in un foglio dove lavorano alcune macro. 

    Vorrei cancellare una di queste, che si attiva automaticamente all'apertura del foglio. Tuttavia se vado nel menù "sviluppo" e clicco sulla lista delle macro trovo che l'elenco è vuoto. E' come se non ci fossero più macro disponibili che, però, sono presenti e perfettamente operative.

    Come posso "ripopolare" la lista delle macro, oggi desolatamente vuota? 

    Le macro di evento non si trovono in un modulo di codice standard e non sono incluse nell'elenco delle macro.

    Per trovare la macro e cancellarla:

    • Fai clic dx sulla linguetta del foglio di interesse
    • Seleziona l'opzione Visualizza Codice dal **** menu contestuale risultante

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento