【发布时间】:2015-03-26 21:09:50
【问题描述】:
在 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
【问题讨论】: