dottbarbi ha scritto:Penso di aver compreso la formula ma quando ho provato ad implementarla non ha funzionato, forse perché ho delle celle unite e l'immissione è intervallata (non l'avevo detto ma era per non rendere problematico il tutto..)
Il Codice viene inserito dalla riga 26 alla 46 ma la colonna di riferimento è l'unione delle colonne da H ad O.
La Descrizione è nelle corrispondenti righe dalla 26 alla 46 e la colonna di riferimento è l'unione delle colonne da P ad AZ.
Questa pagina di immissione è poi replicata altre due volte per un totale di 3 pagine, quindi le immissioni avvengono nelle righe:
- dalla 26 alla 46; quindi il Range è ("H26:AZ46") (Colonne Codice+Colonne Descrizione di Pagina 1)
- dalla 84 alla 104; quindi il Range è ("H84:AZ104") (Colonne Codice+Colonne Descrizione di Pagina 2)
- dalla 142 alla 162; quindi il Range è ("H142:AZ162") (Colonne Codice+Colonne Descrizione di Pagina 3)
Per la prima pagina la funzione dovrebbe quindi diventare così:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("H26:AZ46")) Is Nothing Then Exit Sub
Application.EnableEvents = False
If Target.Column = 8 Then
Target.Offset(0,
.Value = _
Sheets("Listino").Range("Descrizione").Range("A1").Offset(Application.WorksheetFunction.Match(Target, Sheets("Listino").Range("Codice"), 0) - 1, 0)
Else
If Target.Column = 16 Then
Target.Offset(0, -8).Value = _
Sheets("Listino").Range("Codice").Range("A1").Offset(Application.WorksheetFunction.Match(Target, Sheets("Listino").Range("Descrizione"), 0) - 1, 0)
End If
End If
Application.EnableEvents = True
End Sub
..invece non succede niente....