GRANDE Norman, funziona perfettamente!!!
Per avere sempre attiva la password ed evitare l'errore, ho tolto la riga di codice ActiveSheet.Range("H3").MergeArea.Locked = True alla fine della routine e l'ho inserita (in grassetto) ad ogni opzione:
Const sPassword As String = "MiaPassword"
ActiveSheet.Unprotect Password:=sPassword
With Application
.EnableEvents = False
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
Range("J3") = Range("J3") + 1
If Range("B4").Interior.Color = vbYellow Then
Range("B4:B8").Interior.Color = vbWhite
Range("B5").Interior.Color = vbYellow
Range("H3") = Range("H3") - Range("C4")
ActiveSheet.Range("H3").MergeArea.Locked = True
ElseIf Range("B5").Interior.Color = vbYellow Then
Range("B4:B8").Interior.Color = vbWhite
Range("B6").Interior.Color = vbYellow
Range("H3") = Range("H3") - Range("C5")
ActiveSheet.Range("H3").MergeArea.Locked = True
ElseIf Range("B6").Interior.Color = vbYellow Then
Range("B4:B8").Interior.Color = vbWhite
Range("B7").Interior.Color = vbYellow
Range("H7") = Range("H7") + Range("D6")
Range("G7") = Range("H7") / 2
Range("G8") = Range("G7")
Range("C7") = Range("F7") - Range("G7")
Range("C8") = Range("F8") - Range("G8")
Range("H3") = Range("H3") - Range("C6")
ActiveSheet.Range("H3").MergeArea.Locked = True
ElseIf Range("B7").Interior.Color = vbYellow Then
Range("B4:B8").Interior.Color = vbWhite
Range("B4").Interior.Color = vbYellow
Range("H7") = Range("H7") + Range("C7")
Range("C7") = Range("F7") - Range("G7")
Range("C8") = Range("F8") - Range("G8")
Range("H3") = Range("H3") - Range("C7")
ActiveSheet.Range("H3").MergeArea.Locked = True
ElseIf Range("B8").Interior.Color = vbYellow Then
Range("B4:B8").Interior.Color = vbWhite
Range("B4").Interior.Color = vbYellow
Range("H7") = Range("H7") + Range("G7")
Range("C7") = Range("F7") - Range("G7")
Range("C8") = Range("F8") - Range("G8")
Range("G7") = Range("H7") / 2
Range("G8") = Range("G7")
Range("H3") = Range("H3") - Range("C8")
ActiveSheet.Range("H3").MergeArea.Locked = True
Else
Range("B4:B8").Interior.Color = vbWhite
Range("B4").Interior.Color = vbYellow
Range("H3") = Range("H3") - Range("C4")
ActiveSheet.Range("H3").MergeArea.Locked = True
End If
With Application
.EnableEvents = True
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
ActiveSheet.Protect Password:=sPassword
stessa cosa per l'altro pulsante.
Se non ci sono obiezioni da parte tua per il modo in cui ho inserito la riga di codice, il thread si può chiudere qui.
Ti ringrazio per il cortese riscontro.
Alla prossima.