将范围内的每个元素与另一个元素进行比较

时间:2020-10-15 12:55:46

标签: arrays excel vba split comparison

我需要比较两个单个单元格的数据以检查两个数据的差异。 数据格式类似于“ C1,C2,C3”,但是分隔符可能会由于给定的记录而发生变化。它可能会更改为“ C1〜C2〜C3”,甚至是“ C1-C2-C3”。 我尝试使用split函数,但定界符不灵活,而我必须先检查定界符才能将数据拆分为数组,然后尝试循环查找数据以查找定界符,但它不起作用。我可以知道如何克服这个问题,或者任何更简洁的建议吗? 对不起,英语和表达能力很差...

我也尝试替换

Sub ChangeDelim()

Dim i As Variant
Dim delimList() As Variant
Dim replacement As String

Dim str1 As String
Dim str2 As String

delimList = Array("@", ".", "~", "-", "_") 'may increase due to requirement
replacement = ","


str1 = Sheet1.Range("A4")
str2 = Sheet1.Range("B4")


For Each i In delimList
    str1 = Replace(str1, i, replacement)
    str2 = Replace(str2, i, replacement)
    
Next i

With Worksheets("Testing")
    .Range("D4") = str1
    .Range("E4") = str2
End With


End Sub

But it looks like doesn't work since the output still the same

1 个答案:

答案 0 :(得分:0)

当表明您正在使用VBA时,您可以RegEx比较字符串 OR 以删除定界符 OR 以任何默认定界符替换它们以进行比较。 / p>