Moderatori: Anthony47, Flash30005
=SE(VAL.ERRORE(B2)=7;LUNGHEZZA(A2);F3)
=SE(E(SINISTRA(A2;F2)=SINISTRA(A3;F2);SINISTRA(A2;F2)=SINISTRA(A4;F2));"C";"T")
=SE(G2="C";SINISTRA(A2;F2);SINISTRA(A2;LUNGHEZZA(A2)-F2))
=SE(G2="C";DESTRA(A2;LUNGHEZZA(A2)-F2);DESTRA(A2;F2))
Sub cerca()
UltimoDato = Cells(Rows.Count, "A").End(xlUp).Row
UltimoCerca = Cells(Rows.Count, "D").End(xlUp).Row
migliore = 0
miglioreTesto = "nessuna corrispondenza"
For ElementiDato = 2 To UltimoDato
For ElementiCerca = 2 To UltimoCerca
For lettereDato = 1 To Len(Cells(ElementiDato, 1))
riprendi:
sequenza = 0
For LettereCerca = 1 To Len(Cells(ElementiCerca, 4))
If Mid(Cells(ElementiDato, 1), lettereDato, 1) = Mid(Cells(ElementiCerca, 4), LettereCerca, 1) Then
sequenza = sequenza + 1
tieniCerca = LettereCerca
tieniDato = lettereDato
GoTo ContinuaSequenza
End If
Next LettereCerca
Next lettereDato
GoTo CercaProssimo
ContinuaSequenza:
rimanenti = Len(Cells(ElementiDato, 1)) - tieniDato + 1
For seq = 2 To rimanenti
If Mid(Cells(ElementiDato, 1), tieniDato, seq) = Mid(Cells(ElementiCerca, 4), tieniCerca, seq) Then
sequenza = sequenza + 1
If sequenza > maxpunti Then
maxpunti = sequenza
migliore = ElementiCerca
miglioreTesto = Cells(migliore, 4)
End If
GoTo ciclaSeq
End If
lettereDato = lettereDato + 1
GoTo riprendi
ciclaSeq:
Next seq
CercaProssimo:
Next ElementiCerca
inserisci:
Cells(ElementiDato, 2) = miglioreTesto
Cells(ElementiDato, 3) = maxpunti
migliore = 0
miglioreTesto = "nessuna corrispondenza"
maxpunti = 0
Next ElementiDato
End Sub
Torna a Applicazioni Office Windows
"Spegnere" il riconoscimento data. Autore: aggittoriu |
Forum: Applicazioni Office Windows Risposte: 2 |
Visitano il forum: Milanooooo e 31 ospiti