vba是vba,函数是函数。
请你上个截图,这样表述不清楚,不知道你想要什么结果。
追问是的,当有重复项时,删除重复项的那一行,而且删除所有重复项后,剩下的排列是连续的(就是说像B2.B3 B4,不要出现B2 B5 B7).
请上代码!
追答整行删除,那么下面的行就自然整体上移,我不明白你说的连续不连续是什么意思。代码昨天已经写好。如下:
Sub deleteRow()
Dim LastRow As Long, RngA As Range
Dim i As Long
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 1 To LastRow
'判断第B列有无重复数据
If WorksheetFunction.CountIf(Range("B1:B" & i), Cells(i, 2).Value) > 1 Then
If RngA Is Nothing Then
Set RngA = Rows(i)
Else
Set RngA = Union(RngA, Rows(i))
End If
End If
Next i
If Not RngA Is Nothing Then
RngA.Select
If MsgBox("B列重复数据已全部选中,是否要删除?", vbYesNo) = vbYes Then
RngA.Delete
End If
Set RngA = Nothing
End If
End Sub本回答被提问者采纳