Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Vladimiro,
non c'è nulla di nascosto.
Prendiamo il tuo esempio, scorporato di tutto:
Public Sub RESET_Click()
Dim Rng As Range
Const sIntervallo As String = "D7:D29"
Set Rng = Intersect(ActiveSheet.Range(sIntervallo), ActiveCell)
If Rng Is Nothing Then
MsgBox "Bloccato" ' Beep
Exit Sub
End If
MsgBox "Non bloccato"
End Sub
Così dovrebbe funzionare, invece, come puoi vedere, non va.
Vedo che ho frainteso la tua richiesta in quanto pensavo che il pulsante sarebbe stato premuto mentre il cursore si trovava nella colonna D.
In ogni caso, prova la seguente versione:
'========>>
Option Explicit
'-------->>
Public Sub RESET_Click()
Dim Rng As Range, rCell As Range
Dim bFlag As Boolean
Const sIntervallo As String = "D7:D29"
Set Rng = ActiveSheet.Range(sIntervallo)
For Each rCell In Rng.Cells
With rCell
If Not IsEmpty(.Value) Then
If IsEmpty(.Offset(0, 3).Value) Then
bFlag = True
Exit For
End If
End If
End With
Next rCell
If bFlag Then
Range("Y56") = Range("Y56") + Range("Q56") - Range("J2")
Range("G7:G29,D7:D29").Value = ""
End If
End Sub
'<<========
Ho aggiornato il mio file di prova Vladimiro20200825.xlsm
===
Regards,
Norman