В настоящее время я сталкиваюсь с проблемой и не знаю, как мне ее решить. Мне нужно разделить элемент с разделителем "|". И, получить только значения в Array [0] и Array [3]. Затем мне нужно сравнить его с другой строкой [varr]. Значения в arr и varr хранятся в массиве.
Например,
Dim arr As Variant
Dim varr As Variant
arr = 111|Sample1|Test1
arr = 222|Sample2|Test2
arr = 333|Sample3|Test3
varr = 111|Sample1|Test5
varr = 222|Sample2|Test4
varr = 333|Sample3|Test3
В этом сценарии мне нужно перебрать arr / varr и разбить строку, используя разделитель "|" и объединить массив [0] и массив [3]. Затем сравните его с varr (тот же процесс). Мой код ниже:
Dim x As Variant, y As Variant
Dim match As Boolean
Dim Result(), Result2() As String
Dim DisplayText, DisplayText1, DisplayText2, DisplayText3, DisplayText4, DisplayText5 As String
For Each x In arr
match = False
Result = Split(x, "|")
DisplayText = Result(0)
DisplayText1 = Result(2)
DisplayText2 = DisplayText & DisplayText1
For Each y In varr
Result2 = Split(y, "|")
DisplayText3 = Result2(0)
DisplayText4 = Result2(2)
DisplayText5 = DisplayText3 & DisplayText4
If LCase(DisplayText2) = LCase(DisplayText5) Then
MsgBox "No Change"
match = True
End If
Next y
If Not match Then
MsgBox "Change"
End If
Next
Я получил эту ошибку, и она указывает на y в For Each.
![enter image description here](https://i.stack.imgur.com/QB5Yq.jpg)
У вас есть идеи, почему я столкнулся с этой ошибкой?