В макросе Excel 2007 VB я пытаюсь сделать запятую отдельную строку, разделить ее, а затем уменьшить ее, удалив дублирующиеся последовательные значения.Таким образом, «2,2,2,1,1» станет «2,1» или «3,3,3,2,3,3,3» станет «3,2,3».
Похоже, что это должно работать, но когда он достигает «If currentVal.equals (prevVal) = False Then», это его ошибка времени выполнения 424, «Требуется объект».
Это было вечно с тех пор, как я сделал VB, и это был VP6.
Sheets("Sheet1").Select
Range("I1").Select
Dim data() As String
Dim currentVal, prevVal As String
Dim output As String
Dim temp As Boolean
Do Until Selection.Value = ""
data = Split(Selection, ",")
output = ""
prevVal = ""
For Each elem In data
currentVal = CStr(elem)
If currentVal.equals(prevVal) = False Then
output = output + elem + ","
End If
Next elem
Selection.Value = output
Selection.Offset(1, 0).Select
Loop