Ciao Marco,
nella cella A20 automaticamente viene visualizzato il valore 1 o 2 in base ad un modello scelto di portoncino (1 anta, 2 ante)
Se nella cella A20 risulta 1, nella cella I24 non devo immettere niente.
Se nella cella A20 risulta 2, nella cella I24 devo inserire una seconda misura (seconda anta)
Se cerco un'altro modello ad 1 anta vorrei che automaticamente la misura inserita nella cella I24 si cancelli.
OK!
Se il tuo obbiettivo sia quello di cancellare il valore nella cella I24del foglio Offerta in risposta all'immissione di qualunque valore, altro che
1, nella cella A20 del foglio BLINDATO, prova qualcosa del genere:
- Fai clic dx sulla linguetta del foglio di interesse
- Seleziona l'opzione Visualizza Codice dal ****
menu contestuale risultante
- Incolla il seguente codice:
'=========>>
Option Explicit
Private Const sfoglioDestinazione As String = "OFFERTA" '<<=== Modifica
Private Const sCellaDestinazione = "I24"
'<<=== Modifica
Private Const sCellaSorgente = "A20" '<<=== Modifica
'--------->>
Private Sub Worksheet_Calculate()
Dim destSH As Worksheet
Dim srcRng As Range, destRng As Range
With Me
Set srcRng = .Range(sCellaSorgente)
If srcRng.Value = 1 Then
Exit Sub
End If
Set destSH = .Parent.Sheets(sfoglioDestinazione)
Set destRng = destSH.Range(sCellaDestinazione)
End With
Call CancellaAnta(destRng)
End Sub
'--------->>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim destSH As Worksheet
Dim srcRng As Range, destRng As Range
With Me
Set srcRng = Intersect(Target, .Range(sCellaSorgente))
If srcRng Is Nothing Then
Exit Sub
End If
If srcRng.Value <> 1 Then
Set destSH = .Parent.Sheets(sfoglioDestinazione)
Set destRng = destSH.Range(sCellaDestinazione)
Call CancellaAnta(destRng)
End If
End With
End Sub
'<<=========
- Alt+IM per inserire un nuovo modulo di codice
- Nel nuovo modulo vuoto, incolla il seguente codice:
'=========>>
Option Explicit
'--------->
Public Sub CancellaAnta(rCell As Range)
On Error GoTo XIT
Application.EnableEvents = False
rCell.ClearContents
XIT:
Application.EnableEvents = True
End Sub
'<<=========
- Alt+Q per chiudere l'editor di VBA e tornare a Excel
- Salva il file con l'estensione xlsm(oxls)
===
Regards,
Norman
