作者:绿色风
分类:
时间:2022-08-17
浏览:116
楼主 wise |
Q:如何保留各商品最新进货的记录? 原始图:
结果图:
A:ALT+F11→插入模块→输入以下代码:- Sub DeleteTest()
- Dim i As Long
- For i = Range("A1").End(xlDown).Row To 2 Step -1
- '自下而上循环
- If Cells(i, "A").Value = Cells(i - 1, "A").Value Then
- '判断前面后的单元格是否相同,如果相同,则
- If Cells(i, "B").Value <= Cells(i - 1, "B").Value Then
- '如果进货时间小于最晚的时间,则删除当前行
- Rows(i).Delete
- Else
- '否则删除下上一行
- Rows(i - 1).Delete
- End If
- End If
- Next i
- End Sub
保留时间最晚的记录.rar |
2楼 ljh29206 |
Sub DeleteTest() Dim i As Long Range("A2:B" & Range("a65536").End(xlUp).Row).Sort Key1:=Range("A2"), Order1:=xlAscending For i = Range("A1").End(xlDown).Row To 2 Step -1 If Cells(i, "A").Value = Cells(i - 1, "A").Value Then If Cells(i, "B").Value <= Cells(i - 1, "B").Value Then Rows(i).Delete Else Rows(i - 1).Delete End If End If Next i End Sub
加入一个排序,让数据在打乱的情况下也可以实施。 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一