Boa tarde!!
Eu não entendi muito bem.
Mas...considerando que vc pretende comparar o texto de uma coluna com outra, terá um resultado em C [1 para verdadeiro e 0 para falso]
Sub AleVBA_21637()
Dim rw As Range
For Each rw In Range("A2:C10").Rows
If rw.Cells(1) <> "" Then
rw.Cells(3).Value = Levenshtein(rw.Cells(1), rw.Cells(2))
End If
Next rw
End Sub
Public Function Levenshtein(s1 As String, s2 As String)
Dim i As Integer
Dim j As Integer
Dim l1 As Integer
Dim l2 As Integer
Dim d() As Integer
Dim min1 As Integer
Dim min2 As Integer
l1 = Len(s1)
l2 = Len(s2)
ReDim d(l1, l2)
For i = 0 To l1
d(i, 0) = i
Next
For j = 0 To l2
d(0, j) = j
Next
For i = 1 To l1
For j = 1 To l2
If Mid(s1, i, 1) = Mid(s2, j, 1) Then
d(i, j) = d(i - 1, j - 1)
Else
min1 = d(i - 1, j) + 1
min2 = d(i, j - 1) + 1
If min2 < min1 Then
min1 = min2
End If
min2 = d(i - 1, j - 1) + 1
If min2 < min1 Then
min1 = min2
End If
d(i, j) = min1
End If
Next
Next
Levenshtein = d(l1, l2)
End Function
Att
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 29/08/2016 10:17 am