检查相似值 VBA Excel
Check for similar values VBA Excel
我正在 Excel vba 中开发这个宏,它将遍历从 a 到 z 排序的一列客户名称,并检查哪些相似并将它们分配相同相邻列中的客户端 ID。我正在使用 Like
运算符来比较名称,但出于某种原因,它没有发现名称之间的相似性。例如,我想让它认为 Aetna 和 Aetna Medicaid 是同一件事,因为它们都包含 Aetna。我不确定这个操作员是否打算这样做,如果不是,最好的方法是什么。我已经粘贴了下面的代码。它处于初步阶段,所以现在它只输出 MsgBox
而不是分配客户端 ID。此外,该范围由一个函数定义,该函数仅将其设置为一列范围。任何帮助将不胜感激!
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
豪猪说得对。您将需要使用通配符,例如 ?和 * 在字符串的开头、结尾或中间。如果两个字符串包含相似的文本,我也会考虑使用 instr() 来 return 一个值。
Like
运算符经常被混淆。它不只是检查两个字符串是否匹配。相反,Like
运算符左侧的值是要针对运算符右侧的模式进行测试的字符串。
String_To_Test Like Pattern
话虽如此,表达式如下:
"Aetna Medical" Like "Aetna"
会 return 正确,但 "Aetna" Like "Aetna Medical"
会 return 错误。
我正在 Excel vba 中开发这个宏,它将遍历从 a 到 z 排序的一列客户名称,并检查哪些相似并将它们分配相同相邻列中的客户端 ID。我正在使用 Like
运算符来比较名称,但出于某种原因,它没有发现名称之间的相似性。例如,我想让它认为 Aetna 和 Aetna Medicaid 是同一件事,因为它们都包含 Aetna。我不确定这个操作员是否打算这样做,如果不是,最好的方法是什么。我已经粘贴了下面的代码。它处于初步阶段,所以现在它只输出 MsgBox
而不是分配客户端 ID。此外,该范围由一个函数定义,该函数仅将其设置为一列范围。任何帮助将不胜感激!
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
豪猪说得对。您将需要使用通配符,例如 ?和 * 在字符串的开头、结尾或中间。如果两个字符串包含相似的文本,我也会考虑使用 instr() 来 return 一个值。
Like
运算符经常被混淆。它不只是检查两个字符串是否匹配。相反,Like
运算符左侧的值是要针对运算符右侧的模式进行测试的字符串。
String_To_Test Like Pattern
话虽如此,表达式如下:
"Aetna Medical" Like "Aetna"
会 return 正确,但 "Aetna" Like "Aetna Medical"
会 return 错误。