Я разрабатываю этот макрос в Excel vba, который будет проходить через столбец имен клиентов, отсортированных с a на z, и проверить, какие из них похожи, и назначить им один и тот же идентификатор клиента в столбец рядом с ним. Я использую оператор Like
для сравнения имен, но по какой-то причине он не набирает сходства между Именами. Например, я хочу, чтобы он подумал, что Этна и Этна Медикейд - это то же самое, потому что они оба содержат Этна. Я не уверен, был ли этот оператор предназначен для этого, а если нет, что бы это было лучше всего. Я вставил код ниже. Он находится на предварительных этапах, поэтому на данный момент он просто выводит MsgBox
вместо назначения идентификатора клиента. Кроме того, диапазон определяется функцией, которая просто устанавливает его как диапазон в один столбец. Любая помощь будет принята с благодарностью!Проверить аналогичные значения VBA Excel
Function SetInternalClientID()
Sheet9.Activate
Columns("J:J").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Set rng2 = FindHeader("CLIENT NAME", Sheet9.Name)
Count = 0
For i = 73 To rng2.Rows.Count
ClientCheck = rng2.Cells(i, 1).Value Like rng2.Cells(i - 1, 1).Value
If ClientCheck = True Then
MsgBox (rng2.Cells(i, 1) & " Like " & rng2.Cells(i - 1, 1).Value)
Else
MsgBox (rng2.Cells(i, 1) & " NOT LIKE " & rng2.Cells(i - 1, 1).Value)
End If
Next i
End Function
Возможно, вам придется добавить подстановочные знаки. «Aetna *» соответствует «Aetna Medicaid». См. [Подобно оператору (Visual Basic) (MSDN)] (https://msdn.microsoft.com/en-us/library/swf8kaxw.aspx). – Porcupine911
Нечеткий надзор над надстройкой может представлять интерес. – pnuts