Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao Dario,
Prova qualcosa del genere:
'=========>>
Option Explicit
Option Compare Text
'--------->>
Public Function CercaCorrispondenza(CellaInteressata, _
rElencoDiConfronto)
Dim arrParole As Variant
Dim arrElenco As Variant
Dim arrCorrspondenza() As Variant
Dim i As Long, j As Long, iCtr As Long
CercaCorrispondenza = CVErr(xlErrNA)
arrParole = Split(CellaInteressata.Value, Space(1))
arrElenco = Application.Transpose(rElencoDiConfronto.Value)
For i = LBound(arrParole) To UBound(arrParole)
For j = 1 To UBound(arrElenco)
If arrElenco(j) = arrParole(i) Then
iCtr = iCtr + 1
ReDim Preserve arrCorrspondenza(1 To iCtr)
arrCorrspondenza(iCtr) = arrElenco(j)
Exit For
End If
Next j
Next i
With Application.Caller
If .Columns.Count = 1 Then
CercaCorrispondenza = Application.Transpose(arrCorrspondenza)
Else
CercaCorrispondenza = arrCorrspondenza
End If
End With
End Function
'<<=========
Nota che questa è una funzione matriciale e, quindi, per restituire più risultati, si deve confermarla con Ctrl+Maisc+Invio. La funzione può restituire i suoi risultati sia in modo orrizontale che verticale.
===
Regards,
Norman