Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Blocco celle excel 2013 senza proteggere foglio?

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

Blocco celle excel 2013 senza proteggere foglio?

Postdi femon » 18/10/16 13:47

Salve ragazzi,
avrei necessità di bloccare alcune celle excel di un ipotetico foglio C (che contengono formule o dati da non toccare) ma senza proteggere il foglio C in quanto avendo questo foglio al suo interno una piccola tabella pivot che ha origine dati dal foglio A, se lo proteggo, il foglio B che anche lui ha una pivot con origine dalla stessa tabella del foglio A, non mi si aggiorna la pivot del foglio B in quanto mi dice che bisogna prima sbloccare un altro foglio (quello C) che ha una protezione e i cui dati provengono anchessi dal foglio A....
Non so se mi sono spiegato ma schematicamente sarebbe:
foglio A tabella normale
foglio B tabella pivot proveniente dal foglio A
foglio C tabella pivot proveniente dal foglio A ed alcune celle con formule e dati.
dovrei proteggere la parte del foglio C che a fianco della pivot ha le celle con le formule.
Seguendo il procedimento classico (blocco delle celle con le formule e sblocco delle altre + protezione foglio) non mi funziona o meglio mi protegge correttamente le celle ma non mi premette di aggiornare la pivot del foglio B...
Esiste un altro metodo?
Grazie per l'aiuto.
Federico.
femon
Utente Junior
 
Post: 47
Iscritto il: 12/03/14 18:51

Sponsor
 

Re: Blocco celle excel 2013 senza proteggere foglio?

Postdi ricky53 » 18/10/16 16:04

Ciao,
domanda scontata: avrai sicuramente un motivo per cui la pivot si trova nello stesso foglio in cui hai la necessità di protezione delle formule. Ma non è proprio possibile spostare la pivot in un altro foglio?

Se la risposta è NO, allora prova con del codice VBA che
sprotegge il foglio,
aggiorna la pivot,
protegge il foglio

il tutto attivato da un pulsante posto sul foglio oppure
un con un "Doppio Click" su una determinata cella
o all'attivazione del foglio
o ... in base a tue specifiche necessità.


Sai utilizzare il VBA?
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Blocco celle excel 2013 senza proteggere foglio?

Postdi Anthony47 » 19/10/16 02:30

Un metodo alternativo a quello semplice semplice proposto da Ricky (vedi sopra) potrebbe essere di applicare sulle celle con formule una convalida un po' restrittiva, ma sempre insieme a una macro.
1. Seleziona tutte le celle del foglio contenenti una formula (F5; premi Speciale, spunta Formule, Ok)
2. Applica una convalida: consenti = Decimale, uguale a, valore =3799,91; come messaggio di input e di output inserisci "Formula, non toccare"

Gia' in questo modo il contenuto delle celle non puo' essere sostituito con altro contenuto, salvo col numero 3799,91 (che spero non sia la costante piu' importante nel tuo progetto).
Puo' pero' ancora essere cancellato, e questo lo evitiamo con questa macro:
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
Dim uYes As Boolean, myCell As Range
For Each myCell In Target
    cvf = ""
    On Error Resume Next
    cvf = myCell.Validation.Formula1
    On Error GoTo 0
    If cvf <> "" And myCell.Value = "" Then
        uYes = True
        Exit For
    End If
Next myCell
If uYes Then
    Application.EnableEvents = False
    Application.Undo
    Application.EnableEvents = True
End If
End Sub

Pero' le celle possono ancora essere "distrutte" con un copia /incolla che cancellasse anche la Convalida, e questo lo evitiamo con questa seconda macro:
Codice: Seleziona tutto
Public pePPa As String                 'RIGOROSAMENTE in cima al Modulo
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Application.CutCopyMode Then
   
        For Each mygcell In Target
            For Each myCell In mygcell.Resize(Range(pePPa).Rows.Count, Range(pePPa).Columns.Count)
                If Left(myCell.Formula, 1) = "=" Then
                    uYes = True
                    Exit For
                End If
            Next myCell
            If uYes Then Exit For
        Next mygcell
    Else
        pePPa = Selection.Address
    End If
If uYes Then
    Application.CutCopyMode = False
    Application.EnableEvents = True
End If
End Sub

Ambedue le macro vanno inserite nel "Modulo di classe" del foglio di lavoro che vuoi proteggere; inserisci per prima la seconda macro che ti ho dato (per avere Public pePPa As String in testa al modulo).
Per accedere al Modulo di classe: tasto dx sul tab col nome del foglio, scegli Visualizza codice.

Ora le celle possono ancora essere distrutte ma, forse e' piu' facile eliminare l'intero foglio, cosa che si puo' prevenire proteggendo la "Struttura" della cartella di lavoro (Menu /Revisione /Proteggi cartella di lavoro).

Ora il file puo' ancora essere cancellato dal disco, cosa che si puo' prevenire staccando preventivamente la corrente al pc.
Per dire che si puo' continuare a lungo, ma contro i malintezionati c'e' poco da fare.

Spero di non avervi annoiato oltre le mie intenzioni...
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13903
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Blocco celle excel 2013 senza proteggere foglio?

Postdi ricky53 » 19/10/16 11:30

Ciao,
ottima e ... SIMPATICISSIMA soluzione !!!


FEMON: non te la devi perdere !
Dice il vecchio saggio provare e riprovare è l'unica strada per imparare

Più chiara è la vostra spiegazione
Più immediata sarà la nostra soluzione


. . . . . . . . . .
S.O. W7; Office 2003-10-13-16
Avatar utente
ricky53
Utente Senior
 
Post: 4223
Iscritto il: 11/04/09 19:29
Località: Italia

Re: Blocco celle excel 2013 senza proteggere foglio?

Postdi femon » 19/10/16 12:15

Grazie mille sia a Ricky53 che ad Anthony47.
In effetti la pivot non la posso spostare su altro foglio.
Ora proverò con calma passo dopo passo ad effettuare le soluzioni che mi avete suggerito...(non sono molto agile con il VBA...)

Vi farò sapere il risultato.
GRAZIE MILLE.
Federico.
femon
Utente Junior
 
Post: 47
Iscritto il: 12/03/14 18:51

Re: Blocco celle excel 2013 senza proteggere foglio?

Postdi femon » 19/10/16 16:28

:) :) :) :)
Grande ragazzi, funziona tutto benissimo.
Grazie ancora.
femon
Utente Junior
 
Post: 47
Iscritto il: 12/03/14 18:51


Torna a Applicazioni Office Windows


Topic correlati a "Blocco celle excel 2013 senza proteggere foglio?":


Chi c’è in linea

Visitano il forum: patel, Zer0Kelvin e 2 ospiti