Mam listę ponad 1000 nazw firm, jednak niektóre są zduplikowane, ale nie są to dokładne duplikaty (np .: Nintendo, Nintendo Inc, Nintendo Video games itp.), Istnieje sposób na identyfikację duplikatów, dzięki czemu mogę je grupować razem?
Używałem poniższego kodu, ale nie odbiera niektórych z nich i nie mogę zrozumieć, dlaczego.
Sub TestForDups()
Dim LLoop As Integer
Dim LTestLoop As Integer
Dim LClearRange As String
Dim Lrows As Integer
Dim LRange As String
Dim LChangedValue As String
Dim LTestValue As String
'Test first 2000 rows in spreadsheet for uniqueness
Lrows = 2000
LLoop = 2
'Clear all flags
LClearRange = "A2:A" & Lrows
Range(LClearRange).Interior.ColorIndex = xlNone
'Check first 2000 rows in spreadsheet
While LLoop <= Lrows
LChangedValue = "A" & CStr(LLoop)
If Len(Range(LChangedValue).Value) > 0 Then
'Test each value for uniqueness
LTestLoop = 2
While LTestLoop <= Lrows
If LLoop <> LTestLoop Then
LTestValue = "A" & CStr(LTestLoop)
'Value has been duplicated in another cell
If InStr(Range(LTestValue).Value, Range(LChangedValue).Value) > 0 Then
'Set the background color to red
Range(LChangedValue).Interior.ColorIndex = 3
Range(LTestValue).Interior.ColorIndex = 3
End If
End If
LTestLoop = LTestLoop + 1
Wend
End If
LLoop = LLoop + 1
Wend
End Sub
microsoft-excel
vba
macros
Betty T.
źródło
źródło
Odpowiedzi:
Istnieją takie rozmyte dodatki, które można podłączyć do Excela, jak wspomina @Scott Craner.
Pobierz wtyczkę Fuzzy Lookup od Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=15011
Samouczek dotyczący konfigurowania i używania wyszukiwania rozmytego w programie Excel: http://www.k2e.com/tech-update/tips/431-tip-fuzzy-lookups-in-excel
Samouczek wideo pokazujący, jak korzystać z narzędzia: https://www.youtube.com/watch?v=3v-qxcjZbyo
We wtyczce dzieje się trochę skomplikowanych algorytmów dopasowywania, więc nic dziwnego, że twój skrypt nie implementuje dokładnie tego, czego chciałeś przy tak dużym kodzie. Dobrze, że próbujesz!
źródło