Non farla complicata...
Sproteggi sul tuo foglio le celle A1 e B1, e riserva B1 per scriverci la password di sblocco.
Poi creati una Sub Sblocca e una Sub Blocca:
- Codice: Seleziona tutto
Sub Sblocca()
Sheets("DBase").Select
On Error GoTo finEX
ActiveSheet.Unprotect Range("B1").Value
ActiveSheet.Shapes("Immagine 2").Visible = False
finEX:
End Sub
- Codice: Seleziona tutto
Sub Blocca()
Sheets("DBase").Select
On Error GoTo finEX
With ActiveSheet.Shapes("Immagine 2")
.Visible = True
.Top = Range("C3").Top
.Left = Range("C3").Left
End With
ActiveSheet.Protect Range("B1").Value
ActiveSheet.EnableSelection = xlUnlockedCells
Range("B1").ClearContents
finEX:
End Sub
La Sblocca prova a sproteggere il foglio usando la password che avrai scritto in B1 e poi rende l'immagine non visibile.
La Blocca invece protegge il foglio usando la password scritta in B1, rende l'immagine visibile e cancella B1.
Lancerai poi l'una o l'altra a seconda di cosa devi fare.
Oppure crei una unica macro che esegue la Blocca o la Sblocca a seconda dello stato di visibilita' dell'immagine:
- Codice: Seleziona tutto
Sub FlipFlop()
If ActiveSheet.Shapes("Immagine 2").Visible = True Then
Call Sblocca
Else
Call Blocca
End If
End Sub
Quanto al calcolo orario, se in colonna E hai un
orario e in colonna D hai un
numero intero, allora la somma fara' lo stesso orario ma di N giorni dopo.
O scrivi la colonna D in formato orario, oppure in colonna G usi la formula
- Codice: Seleziona tutto
=[@[Dalle ore]]+[@[Durata (h)]]/24
Ciao