Condividi:        

Se cella cambia valore blocca/sblocca altra cella

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

Se cella cambia valore blocca/sblocca altra cella

Postdi blunotte13 » 21/03/11 01:02

Ciao a tutti, ho una macro che, quando cambia il valore di M5, cancella il range O6:O26, vorrei sapere se è possibile fare così: quando il valore di M5 cambia, oltre a cancellare il range O6:O26, la cella M5 viene bloccata, cioè non si può scrivere al suo interno, e quando invece il valore di O26 cambia da nullo ad un valore che viene calcolato da altra operazione, la cella M5 si sblocca, cioè posso modificare il dato al suo interno.

Grazie in anticipo dell'aiuto.
Alla prossima, ciao ciao !!


Excel 2007
blunotte13
Utente Senior
 
Post: 138
Iscritto il: 13/01/10 19:35

Sponsor
 

Re: Se cella cambia valore blocca/sblocca altra cella

Postdi Flash30005 » 21/03/11 09:06

Operazioni da fare:
1) Selezioni tutte le celle del foglio (casella grigia sopra la numerazione 1 della prima riga e a sinistra della lettera A)
2) Menu > Formato -> Celle, Tab protezione, togli l'opzione su bloccata
3) Selezioni la cella M5
4) Menu > Formato -> Celle, Tab protezione, inserisci l'opzione su bloccata
--------
ora in un modulo inserisci questa macro
Codice: Seleziona tutto
Sub ProtezF()
For RO = 2 To 26
    If Range("O" & RO).Value <> 0 Then
        ActiveSheet.Unprotect
        Exit Sub
    End If
Next RO
End Sub


Mentre nel codice del foglio (non modulo)
Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
CheckAreaO = "O2:O26"
CheckAreaM = "M5"
If Not Application.Intersect(Target, Range(CheckAreaO)) Is Nothing Then
    Call ProtezF
End If
If Not Application.Intersect(Target, Range(CheckAreaM)) Is Nothing Then
    Range("O2:O26").ClearContents
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
End Sub


L'unica cosa che non mi torna è una tua dichiarazione:
blunotte13 ha scritto:...e quando invece il valore di O26 cambia da nullo ad un valore che viene calcolato da altra operazione...

Spero che "quest'altra" operazione venga fatta anch'essa con una macro o manualmente, perché se all'interno del range "O2:O26" ci sono delle formule, queste saranno cancellate e quindi, le celle, non potranno modificare il loro valore da nulla ad altro valore...

Fai sapere
Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Se cella cambia valore blocca/sblocca altra cella

Postdi blunotte13 » 21/03/11 13:10

Ciao, grazie della risposta, ho eseguito il tutto ma non funziona, la cella M5 rimane sempre sbloccata, inoltre nel codice del foglio ho questo

Codice: Seleziona tutto
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$M$5" Then Exit Sub   
Application.EnableEvents = False
Call cancella_range
Application.EnableEvents = True
End Sub


(per provare la tua macro l'ho cancellato), come si può fare perchè ci siano entambi?

L'unica cosa che non mi torna è una tua dichiarazione:

blunotte13 ha scritto:...e quando invece il valore di O26 cambia da nullo ad un valore che viene calcolato da altra operazione...


Spero che "quest'altra" operazione venga fatta anch'essa con una macro o manualmente, perché se all'interno del range "O2:O26" ci sono delle formule, queste saranno cancellate e quindi, le celle, non potranno modificare il loro valore da nulla ad altro valore...


uso una macro per quesi calcoli.

Grazie.
Alla prossima, ciao ciao !!


Excel 2007
blunotte13
Utente Senior
 
Post: 138
Iscritto il: 13/01/10 19:35

Re: Se cella cambia valore blocca/sblocca altra cella

Postdi Flash30005 » 21/03/11 13:54

Se la cella M5 non viene protetta molto probabilmente non hai bloccato la cella come previsto dal punto 3) e 4) nei quali dicevo di rimettere l'opzione blocca cella

Per quanto riguarda l'altro tuo codice nel foglio, credo che non ne hai più bisogno sempreché quel codice provvedeva a cancellare il range O2:O26 perché ora farà questa operazione la macro da me postata e da inserire appunto nel foglio (non nel modulo)

Fai sapere
ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Se cella cambia valore blocca/sblocca altra cella

Postdi blunotte13 » 21/03/11 14:09

Verificherò, ma sono sicuro di averlo fatto, ti farò sapere.
Alla prossima, ciao ciao !!


Excel 2007
blunotte13
Utente Senior
 
Post: 138
Iscritto il: 13/01/10 19:35

Re: Se cella cambia valore blocca/sblocca altra cella

Postdi Flash30005 » 21/03/11 15:15

Ho ricostruito il file con le macro postate e il file funziona
puoi scaricarlo Qui

Ciao
Flash
Win10 + Office 2010 Ita
"Fotografica" al servizio dell'immagine
Avatar utente
Flash30005
Moderatore
 
Post: 8517
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: Se cella cambia valore blocca/sblocca altra cella

Postdi blunotte13 » 21/03/11 16:46

Grazie mille dell'aiuto, è perfertto.
Alla prossima, ciao ciao !!


Excel 2007
blunotte13
Utente Senior
 
Post: 138
Iscritto il: 13/01/10 19:35


Torna a Applicazioni Office Windows


Topic correlati a "Se cella cambia valore blocca/sblocca altra cella":

BTp Valore
Autore: MarioLombardi
Forum: Forum off-topic
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 41 ospiti