Proteggi fogli file Excel

Anonimo
2017-11-20T07:50:03+00:00

Ho un file con molti fogli di lavoro.

Mi chiedo se sia possibile bloccare con password tutti i fogli contemporaneamente con una singola procedura.

E' impensabile che con 10 fogli debba ripetere 10 volte la stessa procedura.

E non serve ovviamente neanche fare proteggi cartella, che ha uno scopo completamente diverso.

Gentilmente qualche suggerimento?

Molte 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

Risposta accettata dall'autore della domanda

Anonimo
2017-11-20T08:05:03+00:00

Ciao Marco,

Ho un file con molti fogli di lavoro.

Mi chiedo se sia possibile bloccare con password tutti i fogli contemporaneamente con una singola procedura.

E' impensabile che con 10 fogli debba ripetere 10 volte la stessa procedura.

E non serve ovviamente neanche fare proteggi cartella, che ha uno scopo completamente diverso.

Prova qualcosa del genere:

  • Alt+F11 per aprire l'editor di VBA
  • Alt+IM per inserire un nuovo modulo di codice
  • Nel nuovo modulo vuoto, incolla il seguente codice:

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

Option Explicit

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

Public Sub ProtectAllSheets()

    Dim WB As Workbook

    Dim SH As Worksheet

    Const sPassword As String = "Pippo"                         '<<=== Modifica

    Set WB = ThisWorkbook

    For Each SH In WB.Worksheets

        SH.Protect Password:=sPassword

    Next SH

End Sub

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

  • Alt+Q per chiudere l'editor di VBA e tornare a Excel
  • Salva il file con l’estensione xlsm
  • Alt+F8 per aprire  la finestra di gestione delle macro
  • Seleziona Tester
  • Esegui

===

Regards,

Norman

La risposta è stata utile?

7 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

1 risposta aggiuntiva

Ordina per: Più utili
  1. Anonimo
    2017-11-20T08:04:41+00:00

    Ciao,

    con queste due procedure, rispettivamente, proteggi e sproteggi tutti i fogli, i grafici e la cartella di lavoro.

    Sub Proteggi()

    Application.ScreenUpdating = False

      Dim ws As Worksheet, chr As Chart

      For Each ws In ThisWorkbook.Worksheets

        ws.Protect Password:=PW ', UserInterfaceOnly:=True

      Next ws

      For Each chr In ThisWorkbook.Charts

        chr.Protect Password:=PW

      Next chr

      ThisWorkbook.Protect PW, True

    Application.ScreenUpdating = True

    End Sub

    Sub Sproteggi()

      Dim ws As Worksheet, chr As Chart

      For Each ws In ThisWorkbook.Worksheets

        ws.Unprotect Password:=PW

      Next ws

      For Each chr In ThisWorkbook.Charts

        chr.Unprotect Password:=PW

      Next chr

      ThisWorkbook.Unprotect PW

    End Sub

    Edit: dove PW è una costante dichiarata pubblica all'interno di un modulo.

    Esempio:

    Public Const PW="miapassword"

    La risposta è stata utile?

    2 persone hanno trovato utile questa risposta.
    0 commenti Nessun commento