Lori ha avuto un problema con una cartella di lavoro che voleva condividere con gli altri. La cartella di lavoro conteneva una macro, ma ogni volta che la cartella di lavoro è protetta per impedire ad altri di apportare modifiche alla cartella di lavoro, Lori segnala che “la macro è disabilitata”.

Il problema esatto di Lori è un po ‘difficile da riprodurre, poiché i test mostrano che le macro sono ancora disponibili sia nei fogli di lavoro protetti che nelle cartelle di lavoro protette. È ancora possibile visualizzare la finestra di dialogo Macro e vedere l’elenco delle macro disponibili. Puoi ancora scegliere una delle macro ed eseguirla.

Ovviamente, vedere ed eseguire le macro potrebbe non essere un problema di Lori; è possibile che la macro non venga eseguita correttamente quando viene utilizzata su un foglio di lavoro protetto. In tal caso, il problema in genere si presenta solo se la macro sta tentando di eseguire un’azione che viola la protezione applicata al foglio di lavoro. Ad esempio, se la protezione non consente l’eliminazione di righe o colonne e la macro tenta di farlo, non funzionerà.

La soluzione in questo caso è modificare la macro in modo che non protegga il foglio di lavoro prima di apportare le modifiche. Quanto segue mostra le basi di come farlo:

Sub ModifyProtectedSheet()

ActiveSheet.Unprotect password:="yourpassword"



'work on the worksheet here

ActiveSheet.Protect password:="yourpassword", _       DrawingObjects:=True, Contents:=True, Scenarios:=True End Sub

La prima riga di questo esempio rimuove la protezione del foglio di lavoro, è quindi possibile eseguire l’elaborazione e quindi l’ultima riga lo protegge di nuovo. Se la cartella di lavoro utilizza la protezione, è possibile utilizzare la stessa tecnica con la cartella di lavoro: rimuovere la protezione, quindi apportare le modifiche e quindi proteggerla nuovamente.

Il problema di Lori potrebbe anche essere correlato alla parola “condivisione”, che ha usato nella sua dichiarazione del problema. Se, condividendo, Lori intende usare Condividi cartella di lavoro per rendere la cartella di lavoro “condivisibile” da altri, allora vedrai un avviso quando la condivisione è attivata. L’avviso indica che le macro non possono essere “visualizzate o modificate” nelle cartelle di lavoro condivise. Tuttavia, ciò non significa che le macro siano disabilitate, poiché è comunque possibile visualizzare la finestra di dialogo Macro per visualizzare un elenco di macro e sceglierne una da eseguire. Tuttavia, non è possibile visualizzare l’editor VBA e guardare il codice macro effettivo.

Infine, ci sono alcune funzionalità di Excel che sono semplicemente disabilitate nelle cartelle di lavoro condivise. Se la tua macro tenta di eseguire una di queste azioni disabilitate, non funzionerà correttamente. Questa è una limitazione di Excel e non è possibile fare nulla al riguardo. (Per ulteriori informazioni su cosa non è possibile eseguire in una cartella di lavoro condivisa, utilizzare il sistema di guida in linea e cercare “cartelle di lavoro condivise, limitazioni”.) L’unico modo per aggirare queste limitazioni è non condividere la cartella di lavoro.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (12570) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: