Skip to content

Macro per proteggere foglio excel

Macro di Excel per la sprotezione del foglio

Spiegazione: La macro utilizza il metodo InputBox dell’oggetto Applicazione. Se l’utente fa clic su Annulla, questo metodo restituisce False e non succede nulla (InputBox scompare). Solo quando l’utente conosce la password (“facile” di nuovo), il codice segreto viene eseguito. Se la password inserita non è corretta, viene visualizzato un MsgBox. Si noti che l’utente non può vedere la password nell’editor di Visual Basic perché il progetto è protetto dalla visualizzazione.

L’approccio moderno consiste nell’abbandonare VBA per il codice importante e scrivere un Add-In gestito da .NET utilizzando c# o vb.net; ci sono molte risorse a questo proposito sul sito web e si può utilizzare la versione Express di MS Visual Studio.

Generare un’applicazione protetta per Mac o Windows dal foglio di calcolo Excel utilizzando OfficeProtect con AppProtect o QuickLicense/AddLicense. All’indirizzo www.excelsoftware.com/videos è disponibile un video dimostrativo intitolato “Protect Excel Spreedsheet”.

Come proteggere un foglio Excel con una password utilizzando VBA?

Per proteggere il codice, aprite la cartella di lavoro di Excel e passate a Strumenti>Macro>Visual Basic Editor (Alt+F11). Ora, all’interno del VBE, andate a Strumenti>Proprietà progetto e fate clic sulla scheda Pagina di protezione, quindi selezionate “Blocca il progetto dalla visualizzazione” e inserite la vostra password e di nuovo per confermarla.

Le macro funzionano sui fogli protetti?

Impostando l’argomento Solo interfaccia utente su Vero, la protezione del foglio di lavoro si applica solo all’interfaccia utente e non alle macro, consentendo a Excel di eseguire tutte le macro nel foglio di lavoro. Se questo argomento viene omesso, la protezione si applica sia alle macro che all’interfaccia utente.

  Foglio excel calcolo imu 2012

Excel/vba proteggere foglio con password consentire filtro

Questa esercitazione su Excel VBA Proteggi foglio con password è accompagnata da una cartella di lavoro Excel con i dati e il codice VBA che utilizzo per descrivere il processo passo dopo passo. Ottenete questa cartella di lavoro di esempio (gratuitamente) facendo clic sul pulsante sottostante.

Il codice VBA nella cartella di lavoro Excel che accompagna questa esercitazione VBA di Excel su Proteggi foglio con password è (sempre) memorizzato nell’Editor Visual Basic (VBE). Se non sapete come lavorare con il VBE, vi suggerisco di leggere il mio Tutorial sull’editor Visual Basic (VBE). Il link a questa esercitazione si trova nella sezione Materiali e risorse per la formazione sulle macro e sul VBA di Excel.

Se volete risparmiare tempo quando lavorate con le macro e il VBA, potreste essere interessati ad AutoMacro: Fare clic qui per saperne di più su AutoMacro (link affiliato). AutoMacro è un componente aggiuntivo per VBA che si installa direttamente nel VBE. A seconda della versione, AutoMacro viene fornito con:

Se avete bisogno di servizi di consulenza, potreste prendere in considerazione la possibilità di lavorare con ExcelRescue. ExcelRescue è il mio solito suggerimento per le persone che (come voi) hanno bisogno di aiuto con compiti/progetti di Excel: Cliccate qui per visitare ExcelRescue (link affiliato).

  Foglio excel calcolo liquidazione iva

Foglio di protezione Vba

In questa esercitazione vedremo come proteggere tutti i fogli di lavoro di una cartella di lavoro.    Invece di dover proteggere ogni foglio di lavoro singolarmente utilizzando il comando Proteggi foglio di lavoro, creeremo una macro che protegga tutti i fogli in una sola volta. Creeremo anche una macro che disattiverà la protezione dei fogli.    Questa procedura funziona per qualsiasi cartella di lavoro aperta in Excel.

Per iniziare è necessario visualizzare la scheda Sviluppatori sulla barra multifunzione. Fate clic con il tasto destro del mouse su qualsiasi scheda della barra multifunzione e selezionate Personalizza la barra multifunzione.    Assicuratevi che l’opzione Sviluppo sia selezionata nella finestra di dialogo Opzioni di Excel (vedi sotto). Fare clic su OK per confermare.

Salveremo le macro nella cartella di lavoro Macro personali: tutte le macro salvate in questa cartella sono disponibili per tutte le cartelle di lavoro. Questa cartella di lavoro è elencata come PERSONAL.XLSB nella finestra del progetto.    Se questa cartella di lavoro non è presente nell’elenco, non è stata creata; per prima cosa è necessario salvare una macro registrata nella cartella di lavoro Macro personale di Excel, una cosa semplice.

È possibile salvare la macro in un modulo esistente all’interno della cartella di lavoro Macro personali oppure crearne uno nuovo.    Per creare un nuovo modulo, fare clic con il pulsante destro del mouse sulla cartella di lavoro Macro personale e selezionare Inserisci > Modulo.

  Passare da un foglio all altro excel

Activesheet.protect password

Tuttavia, questo metodo presenta alcuni difetti: (i) se il codice incontra un errore o viene interrotto, il foglio di lavoro rimarrà non protetto; (ii) la password di protezione del foglio di lavoro verrà visualizzata nel codice vba (i progetti vba di solito proteggono il foglio di lavoro con il codice vba anziché direttamente dai menu del foglio di lavoro), a meno che non si protegga il progetto VBAProject (nella finestra del codice dell’editor VB) per impedire l’accesso o la visualizzazione del codice; e (iii) sarà necessario immettere questo codice (vale a dire le istruzioni unprotect e protect) ripetutamente in ogni macro.

Questo codice verrà eseguito indipendentemente da un errore o da un gestore di erroriSheet1.Cells(1, 1) = UCase(“hello”)’questo codice darà un errore di esecuzione, a causa della divisione per zero. Il foglio di lavoro rimarrà non protetto in assenza di un gestore di errori.

Questo codice verrà eseguito indipendentemente da un errore o da un gestore di erroriSheet1.Cells(1, 1) = LCase(“HELLO”)’questo codice darà un errore di esecuzione, a causa della divisione per zero. Il foglio di lavoro rimarrà non protetto in assenza di un gestore di errori.