ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何保留各商品最新进货的记录?

如何保留各商品最新进货的记录?

作者:绿色风 分类: 时间:2022-08-17 浏览:116
楼主
wise
Q:如何保留各商品最新进货的记录?
原始图:

 
结果图:

 
A:ALT+F11→插入模块→输入以下代码:
  1. Sub DeleteTest()
  2. Dim i As Long
  3. For i = Range("A1").End(xlDown).Row To 2 Step -1
  4.   '自下而上循环
  5.     If Cells(i, "A").Value = Cells(i - 1, "A").Value Then
  6.     '判断前面后的单元格是否相同,如果相同,则
  7.         If Cells(i, "B").Value <= Cells(i - 1, "B").Value Then
  8.         '如果进货时间小于最晚的时间,则删除当前行
  9.             Rows(i).Delete
  10.         Else
  11.         '否则删除下上一行
  12.             Rows(i - 1).Delete
  13.         End If
  14.     End If
  15. Next i
  16. 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总版主之一

评论列表
sitemap