用VBA代码删除EXCEL中重复的十几行数据

由于导入数据的关系,上述重复的数据在excel中重复出现了上千次,“第一行是总计,最后一行是日期,接受单号...(等)”中间的数据可能会有一点变化,但是第一行跟最后一行形... 由于导入数据的关系,上述重复的数据在excel中重复出现了上千次,“第一行是总计,最后一行是日期,接受单号...(等)”中间的数据可能会有一点变化,但是第一行跟最后一行形式基本不变,我是想删除第一行跟最后一行之间所有的数据(即22475-22488)。我想到的做法是搜索出来含有“总计”的行之后删除固定行直到删除到“日期”,但是不会写程序...抑或大神们有什么别的做法,请赐教 展开
 我来答
敏锐还宁静丶行家0
2013-01-20 · TA获得超过6870个赞
知道大有可为答主
回答量:3502
采纳率:0%
帮助的人:1769万
展开全部
如果我没有理解错的话,下面代码可以完成楼主的要求:
注意:请在执行代码前备份你的excel文件,以防删除错误后数据不开恢复。。
Sub sc()
For i = 1 To UsedRange.Rows.Count
If Cells(i, 1) = "总计" Then a = i + 1
If Cells(i, 1) = "日期" Then
If a = "" Or a = i Then
Else
Rows(a & ":" & i - 1).Delete Shift:=xlUp
End If
ElseIf i = UsedRange.Rows.Count Then
If a < i Then Rows(a & ":" & i).Delete Shift:=xlUp
End If
Next
End Sub
追问
显示“For i = 1 To UsedRange.Rows.Count”需要调试...
追答
For i = 1 To UsedRange.Rows.Count  
这行代码的前部分 For i = 1 To
肯定不会错,而 UsedRange.Rows.Count
是指当前工作表用户使用的行数。所以,
一定要把代码放到你图中对应的工作表下面。。
太极健1969
2013-01-20 · TA获得超过9033个赞
知道大有可为答主
回答量:8668
采纳率:69%
帮助的人:3622万
展开全部
Sub test()
Dim r&
r = Range("A65536").End(xlUp).Row
For x = r To 1 Step -1
If Cells(x, 1) = "总计" Then
Rows(x & ":" & x + 13).Delete
End If
Next x
End Sub
追问
测试有效,感谢!
不过能不能麻烦再写一条VBA,换一种方法,删除从“总计”到“日期”这之间的区域,不用删除行的方法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
crazy0qwer
2013-01-20 · TA获得超过3301个赞
知道大有可为答主
回答量:4020
采纳率:71%
帮助的人:1321万
展开全部
把总计到 日期之间的行都删除?只看A列?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
费绮赧玛
2019-12-14 · TA获得超过1198个赞
知道小有建树答主
回答量:1823
采纳率:100%
帮助的人:8.5万
展开全部
对于删除重复数据,excel 2007中有一个功能可以删除,不需要vba编程。
方法:
选中重复数据出现的单元格区域→“菜单”栏→“数据”→“删除重复项”→点击“确定”即可
如图:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式