Alla chiusura di una cartella di lavoro il "progetto VBA" risulta ancora visibile nel VBE

Anonimo
2019-06-25T21:16:03+00:00

Premetto che sto utilizzando, in questo momento, Excel 2007.

A volte capita, e non ho capito come mai non sempre, che alla chiusura di file che hanno un progetto VBA con moduli e/o userform, chiudendo il file nel VB Editor risulti ancora caricato il progetto vba del file.

Se si cerca di fare qualche operazione in quel progetto a volte capita che excel vada in crash. Altre volte viene dato l'errore di "Memoria esaurita".

Se il progetto VBA ha una protazione e magari è stata caricata una userform, alla chiusura di Excel, viene richiesta la pw del progetto VBA.

Ho provato ad eliminare tutti i componenti aggiuntivi e com (in realtà di questo ulitmo tipo ho caricato solo il vb cleaner).

Ho anche "eliminato" dalla cartella Start il file "Personal.xlsb".

Ho creato una banalissima cartella di lavoro xml a cui ho aggiunto un modulo e una userform.

Se apro e chiudo questo file che ha solo un macro nel modulo1 e una userform senza alcun codice nel suo modulo di classe, il nome del progetto viene visualizzato più volte (tante quante sono le volte in cui è stato aperto) anche se la cartella di lavoro è chiusa.

Ho fatto una ricerca è ho visto che in diversi siti in inglese il problema è presente (anche in altre versioni di Excel).

Ma non sono riuscito a capire se vi sia una qualche spiegazione al fenomeno e se vi sia una soluzione "universale".

Quello che ho notato io è che il problema si presenta con la presenza di UserForm.

Se non ci sono UserForm, ma solo dei moduli, non ho notato che i file venissero visualizzati nel VBE una volta chiusi.

Mah?

Qualcuno ha riscontrato questo problema e saprebbe indicarmi se ci sono possibili soluzioni?

Grazie

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

7 risposte

Ordina per: Più utili
  1. Anonimo
    2019-06-26T13:01:23+00:00

    Ciao Casamaner,

    In effetti avevo fatto ricerche e trovato che il problema era comune.

    Ma, cercando di tradurre dall'inglese, le soluzioni mi sono sembrate le più disparate :)

    Ho anche provato ad esempio ad impostare a Nothing le userform anche se non mi sembra abbia risolto.

    Proverò anche con il tuo suggerimento e vediamo se succede qualcosa.

    La cosa strata è che magari un giorno accendo il computer e tale problematica non è presente.

    Poi magari si presenta.

    Stranezze.

    Ci sono molti problemi sottili che si presentano con l'uso di Userform. Credo che molti di questi problemi siano dovuti a detriti nascosti del codice VBA. Risolvo tali problemi con l'uso dell'addin  VBA Code Cleaner di Rob Bovey

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2019-06-26T12:30:35+00:00

    Ciao Norman,

    grazie per la risposta.

    In effetti avevo fatto ricerche e trovato che il problema era comune.

    Ma, cercando di tradurre dall'inglese, le soluzioni mi sono sembrate le più disparate :)

    Ho anche provato ad esempio ad impostare a Nothing le userform anche se non mi sembra abbia risolto.

    Proverò anche con il tuo suggerimento e vediamo se succede qualcosa.

    La cosa strata è che magari un giorno accendo il computer e tale problematica non è presente.

    Poi magari si presenta.

    Stranezze.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2019-06-26T09:51:38+00:00

    Ciao Casanmaner,

    Scusate altra particolarità.

    Se mi sposto con Alt+F11 da Excel a VBE, quando il file è chiuso ma risulta in elenco nella finestra dei progetti, e poi digito nuovamente Alt+F11 per ritornare ad Excel rimante attiva la finestra del VBE senza spostarsi alla finestra di Excel.

    Arimah?!?!

    Ho riscontrato il problema dei Progetti VBA fantasma sporadicamente e nei forum troverai molti rapporti simili.

    Senza mai sapere il motivo per il problema io l'ho risolto con codice del seguente genere:

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

    Option Explicit

    Private Sub Workbook_BeforeClose(Cancel As Boolean)

        With Application.VBE.MainWindow

            If Not (.Visible) Then

                .Visible = True

                .Visible = False

            End If

        End With

    End Sub

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

    Comunque, non so se possa essere di aiuto nel tuo scenario ...

    ===

    Regards,

    Norman

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2019-06-25T21:32:24+00:00

    Scusate altra particolarità.

    Se mi sposto con Alt+F11 da Excel a VBE, quando il file è chiuso ma risulta in elenco nella finestra dei progetti, e poi digito nuovamente Alt+F11 per ritornare ad Excel rimante attiva la finestra del VBE senza spostarsi alla finestra di Excel.

    Arimah?!?!

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2019-06-25T21:29:31+00:00

    Aggiungo un altro particolare.

    Anche dopo aver eliminato la UserForm il nome del progetto risulta visibile se il progetto VBA del file viene aperto e visualizzato nel VBE.

    Mentre se ci si limita ad aprire e chiudere il file senza accedere al progetto VBA dopo averlo chiuso non risulta presente nell'elenco dei progetti VBA.

    Se vado in "Riferimenti" anche in assenza di Userform risulta barrato il riferimento a "Microsoft Forms 2.0..." e se si cerca di eliminare il riferimento viene dato il messaggio che non è possibile da eliminare perché in uso.

    Ho anche provato con una cartella di lavoro creata ex novo e dove ho aggiunto solo un modulo standard e una macro (nemmeno azionata mai).

    Se apro e chiudo il file senza visualizzare il progetto VBA e solo dopo aver chiuso il file accedo al VBE di solito non trovo il nome del file in elenco. Dico "di solito" perché invece a volte il nome rimane visualizzato e a volte viene anche dato un errore di "automazione".

    Se prima di chiudere il file accedo al progetto VBA e poi mi sposto in interfaccia utente di Excel e chiudo il file il progetto rimane visualizzato nel VBE. E in questo caso il comportamente è "costante".

    Non riesco proprio a spiegarmi questi accadimenti.

    Mah?

    La risposta è stata utile?

    0 commenti Nessun commento