Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("b:b")) Is Nothing Then MsgBox "Hai scelto il n. " & Target.Value & Chr(10) & "dalla cella " & Target.Address End If End Sub
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B:B")) Is Nothing Then Range("XFD1").Value = Target.Value UserForm1.Show End If End Sub
Private Sub UserForm_Initialize() Me.Label1.Caption = "Hai scelto il n.: " & Range("XFD1").Value End Sub
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("B:B")) Is Nothing Then UserForm1.Show End If End Sub
Option Explicit Private Sub UserForm_Initialize() Dim Cll As String, Nmx As String Dim VlR As Integer Nmx = Cells(ActiveCell.Row, 1).Value VlR = ActiveCell.Value Cll = ActiveCell.Address Me.Label1.Caption = "Hai modificato la Cella: " & Cll & Chr(10) & " Il Valore è: " & Nmx & ", " & VlR End Sub
No, in questo modo mi indica il valore della cella successiva a quella modificata, non so il perché, io modifico B2 e la userform mi riporta il valore di B3.Se mi riportasse il valore corretto sarebbe quasi a posto.
MoveAfterReturn = False
Se mi riportasse il valore corretto sarebbe quasi a posto.Ma poi non mi deve riportare quale cella ho modificato, non mi interessa, nel messaggio dovrebbe esserci:"Hai selezionato: Sara (o qualsiasi altra cosa ci sia scritta in A2), 10 (o qualsiasi altro numero scriverò in B2)"Il messaggio deve essere generato in base all'inserimento dati nelle celle della colonna B.Ovvero, se B2 è diverso da vuoto la userform dovrebbe riportarmi il dato contenuto in B2 e quello contenuto in A2, e così via di seguito, quando andrò a scrivere in B50 mi attiverà la userform con messaggio che riporta quanto scritto in B50 e in A50...