A partire da Excel 2000, Microsoft ha aggiunto la possibilità di definire cosa può fare l’utente in un foglio di lavoro protetto. Utilizzando le caselle di controllo nella finestra di dialogo Proteggi foglio, puoi scegliere un’ampia varietà di azioni consentite. (Vedi figura 1.)

image

Figura 1. La finestra di dialogo Proteggi foglio.

Una delle azioni consentite nella finestra di dialogo Proteggi foglio è l’inserimento e l’eliminazione di righe e colonne in un foglio di lavoro protetto. Questa è un’ottima funzionalità per alcuni tipi di fogli di lavoro. Ma c’è qualcosa di strano nel modo in cui questa funzione funziona effettivamente.

Diciamo che crei un foglio di lavoro e lo proteggi. In tal modo, indichi che è consentito che le persone inseriscano ed eliminino righe nel foglio di lavoro protetto. Quando qualcuno cerca di inserire una riga nel foglio di lavoro protetto, si inserisce bene. Se qualcuno cerca di eliminare una riga, anche quella appena inserita, l’azione non è consentita; non può essere fatto.

Cosa succede? Hai indicato nella finestra di dialogo Proteggi foglio che le persone possono eliminare righe, ma Excel non ti consente ancora di farlo.

Il motivo sembra essere legato al modo in cui Excel implementa la protezione del foglio di lavoro. Ricorda che la protezione viene applicata a tutte le celle formattate come Bloccate nella scheda Protezione della finestra di dialogo Formato celle. Se una cella di una riga che si tenta di eliminare è formattata come Bloccata, la protezione del foglio di lavoro non ti consentirà di eliminare la riga. Se tutte le celle nella riga hanno la casella di controllo Bloccato deselezionata, la riga può essere eliminata correttamente. (Vedi figura 2.)

image

Figura 2. La scheda Protezione della finestra di dialogo Formato celle.

È interessante notare che l’utente non può eliminare una riga che ha aggiunto perché la riga aggiunta eredita la formattazione della cella della riga sopra di essa. Pertanto, se sono presenti celle bloccate nella riga sopra la riga inserita, la riga inserita non può essere eliminata fintanto che il foglio di lavoro è protetto.

Questo comportamento, ovviamente, non è particolarmente utile per qualsiasi sviluppatore di fogli di lavoro che desidera davvero che le persone abbiano la possibilità di eliminare righe in un foglio di lavoro, indipendentemente dal fatto che le celle nelle righe siano bloccate. Se sei una di quelle persone, l’unica cosa che puoi fare è creare una macro che faccia l’eliminazione per te. La macro deve eseguire i seguenti passaggi:

  1. Rimuovere la protezione dal foglio di lavoro. Elimina la riga. Proteggi di nuovo il foglio di lavoro

Questi tre passaggi sono relativamente facili da eseguire, utilizzando le tecniche descritte in altri numeri di ExcelTips. Per rendere la macro utile, probabilmente vorrai aggiungere codice che assicuri che l’utente non stia cercando di eliminare le righe che non desideri cancella (intestazioni, totali, ecc.)

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

Questo suggerimento (3004) si applica a Microsoft Excel 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: