恐ろしいデータをクリーンアップしようとしています。さまざまな部分の説明を含む説明の列があります。このデータを保持していた人は誰であれ、彼または彼女の狂気への方法がないように見えましたが、それはまた別の機会に.
データの重複を見つけて、重複としてマークしようとしています。残念ながら、これがどのように作られたかという理由で、それは難しいかもしれません. たとえば、「BEARING」という記述を考えてみましょう。現在のコードを使用すると、「BEARING」と表示されたセルのみをキャッチできます。彼らが「BEARING」または「BEARING」(スペースに注意)または「BEARING」(再びスペース)と言った場合、それはキャッチされません。
Sub test()
Dim uniqueCounter As New Scripting.Dictionary
Dim counter As Long
Dim rowCount As Long
Dim identifier As String
rowCount = 10235
uniqueCounter.CompareMode = TextCompare
For counter = 1 To rowCount
identifier = ActiveSheet.Cells(counter, 3) 'Put whatever number of combination of cells which the row unique here (maybe it's just the one)
If uniqueCounter.Exists(identifier) Then
uniqueCounter(identifier) = CLng(uniqueCounter(CStr(ActiveSheet.Cells(counter, 3)))) + 1
ActiveSheet.Cells(counter, 1) = "Duplicate " & identifier
Else
uniqueCounter.Add identifier, "0"
ActiveSheet.Cells(counter, 1) = "Original " & identifier
End If
Next counter
End Sub
SQL で LIKE を使用する方法と同様に、コードの実行時に辞書エントリの可能なすべてのバリアントをキャッチする方法はありますか?