|
请问我这代码提示应用程序定义或对象定义错误是什么原因呢?
Sub ss()
Dim yy As Integer, ts As Worksheet
Dim mk, mb, xx, xc, mu
Set ts = ActiveSheet
'获取当前表格的b列有多少有效值,从最后一个有效值开始递减1行
For yy = ts.Range("b66546").End(xlUp).Row To 1 Step -1
'使用countif根据一个有效值与B列比较,有多少相同数量的有效值
mk = Application.WorksheetFunction.CountIf(ts.Range("b1:b" & yy), ts.Range("b" & yy))
If mk > 1 Then 'mk大于1,表示B列有至少一个重复
mb = ts.Range("b" & yy) ''获取值
On Error Resume Next '出错继续
xx = WorksheetFunction.Match(mb, ts.Range("b1:b" & yy), 0) '''获取B列中这个有效值第一次出现的位置
xc = ts.Range("c" & xx) ''取出根据第一次出现位置号偏移位置的数值
mu = ts.Range("c" & yy) ''取出根据递减位置号偏移位置的数值
ts.Range("c" & xx).value = xc + mu '''将最后一个值与第一次出现的值合并
ts.Range("b" & yy).EntireRow.Delete '删除重复的最后一个数值行
End If
Next
End Sub
|
-
错误提示
|