excel - 如果日期较旧,如何制作删除行的代码
问题描述
我正在创建一个工具,该工具需要删除“E”列中日期早于 01-01-2019 的行。
Sub OlderDateDelete()
Dim i As Variant
Application.DisplayAlerts = False
For i = Sheets("Iberica Not Sent").Count To 2 Step -1
If Sheets(i).Range("E2").Value < DateValue("01/01/2019") Then
Sheets(i).Delete
End If
Next i
Application.DisplayAlerts = True
End Sub
解决方案
我想出的最简单的方法是将日期“01/01/2019”放在一个单元格中,在我的示例中是“G1”
然后将每个范围转换为该单元格并删除它们:
Sub DeletePreviousYears()
Dim i As Long
Dim LastRow As Long
LastRow = Sheets("Iberica Not Sent").Range("E" & Rows.Count).End(xlUp).Row
Application.DisplayAlerts = False
For i = LastRow To 2 Step -1
If Range("E" & i) <> "" And Range("E" & i).Value < Range("G1").Value Then
Rows(i).Delete
End If
Next i
Application.DisplayAlerts = True
End Sub
最好的方法也是使用函数来查找最后一行并返回您的循环。同样,使用您的第一个代码Sheets
时,您循环的是工作表而不是行。
推荐阅读
- javascript - 如果组件在其渲染函数中返回null,为什么会触发componentDidMount?
- c# - c#将Json加载到继承的类中
- python - CodingBat Python make_chocolate 代码在“其他测试”中失败
- c++ - Qt moveToThread,带参数的信号/槽
- asp.net - ParamQuery 网格 (PQGrid) 将新行添加到嵌套网格
- javascript - Hyperledger Fabric - 存在历史注册表时,我们是否需要用户定义的事务模型?
- java - recyclerview 没有在键盘上方滚动以获取新消息
- r - 使用 R 中的 openair 包更改多面板泰勒图的字体大小
- android - 如何在 Datepicker 布局中显示有限的年数?
- ios - UITextView 高度不会改变