Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Buongiorno Andrea,
Buongiorno Norman e grazie ,funziona tutto come richiesto,volevo solo chiederti un ultima cosa ,ogni tanto nella cella del diametro "e6" devo inserire un valore che non è presente nella tabella ,è possibile fare in modo che in quel caso la Userform non si apra?
grazie 1000
Nel modulo di codice standard, incolla
'========>>
Option Explicit
Public Rng_Diametro As Range
Public Rng_Raggio As Range
Public Const sTabella As String = "B4:C17" '<<=== Modifica
Nel modulo di codice del foglio Foglio1, sostituisci il codice con la seguente versione:
'========>>
Option Explicit
'-------->>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim SH2 As Worksheet
Dim rngTabella As Range
Dim Res As Variant
Const sCella_Diametro As String = "E6"
Const sCella_Raggio As String = "C13"
Set Rng_Diametro = Intersect(Me.Range(sCella_Diametro), Target)
If Not Rng_Diametro Is Nothing Then
Set SH2 = ThisWorkbook.Sheets("Foglio2")
Set rngTabella = SH2.Range(sTabella)
Set Rng_Raggio = Me.Range(sCella_Raggio)
Res = Application.Match(Rng_Diametro.Value, rngTabella.Columns(1), 0)
If Not IsError(Res) Then
UserForm1.Show False
Else
Rng_Raggio.ClearContents
End If
End If
End Sub
'<<========
Ho aggiornato il mio file di prova Andrea20200604.xlsm
===
Regards,
Norman