将范围内的每个元素与另一个进行比较
To compare the each of the element in a range with another
我需要比较两个单细胞的数据来检查两个数据的差异。
数据的格式就像“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
由于您正在使用 VBA 接缝,您可以使用 RegEx 比较字符串 OR 以删除分隔符 OR 用任何默认分隔符替换它们以进行比较。
我需要比较两个单细胞的数据来检查两个数据的差异。 数据的格式就像“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
由于您正在使用 VBA 接缝,您可以使用 RegEx 比较字符串 OR 以删除分隔符 OR 用任何默认分隔符替换它们以进行比较。