excel vba ,excel表中A列有多个单元格值相同,则删除单元格所在行,且只保留这些相同值
excelvba,excel表中A列有多个单元格值相同,则删除单元格所在行,且只保留这些相同值中排最后的一个值,这一行不删除...
excel vba ,excel表中A列有多个单元格值相同,则删除单元格所在行,且只保留这些相同值中排最后的一个值,这一行不删除
展开
展开全部
亲,是这个意思么?
打开你的Excel文件,按“Alt+F11”打开VBA编辑窗口,然后在左侧对应的Sheet上双击,右侧空白处粘贴下面的代码。关闭VBA窗口。然后按“Alt+F8”打开宏窗口,选择刚插入的宏,点击“执行”。
Sub sc()
Dim d
Set d = CreateObject("Scripting.Dictionary")
Dim i, r As Long
r = Cells(Rows.Count, "A").End(xlUp).Row
For i = r To 1 Step -1
d(Range("A" & i).Value) = d(Range("A" & i).Value) + 1
If d(Range("A" & i).Value) > 1 Then Rows(i).Delete
Next
Set d = Nothing
End Sub
更多追问追答
追问
错误429
追答
在VBA编辑窗口,按F8单步执行,看看在哪一步程序中断了。然后,把错误的那段代码和错误提示窗口截图上来看看。
展开全部
假设数据区域A2:A20,则
1)B2=COUNTIF(A2:A$20,A2)
2)复制粘贴到B2:B20
3)筛选B列所有>1的值,删除掉
这样应该就可以了,非要用VBA的话,就按这个思路编程吧
1)用intRow=range("A" & rows.count).end(xlup).row 方法获取最大行号
2)dim rng as range, set rng = range("A2:A" & intRow)
3)rng.FormulaR1C1 = "=COUNTIF(RC[-1]:R" & intRow & "C[-1],RC[-1])"
4)筛选(录个宏,改一下)
5)dim rng2 as range, 用set rng2 =rng.SpecialCells(xlCellTypeVisible)方法获取可见单元格区域,然后删掉
1)B2=COUNTIF(A2:A$20,A2)
2)复制粘贴到B2:B20
3)筛选B列所有>1的值,删除掉
这样应该就可以了,非要用VBA的话,就按这个思路编程吧
1)用intRow=range("A" & rows.count).end(xlup).row 方法获取最大行号
2)dim rng as range, set rng = range("A2:A" & intRow)
3)rng.FormulaR1C1 = "=COUNTIF(RC[-1]:R" & intRow & "C[-1],RC[-1])"
4)筛选(录个宏,改一下)
5)dim rng2 as range, 用set rng2 =rng.SpecialCells(xlCellTypeVisible)方法获取可见单元格区域,然后删掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有偿可以考虑帮做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |