用VBA代码如何实现:Lastday是变量代表昨天,lastday1是变量代表昨天的前一天,lastday2是变量代表昨天的前2天,筛选B列的值不等于Lastday,lastday1,lastday2,资料
时间: 2024-09-16 21:00:38 浏览: 70
VBA菜单食谱(全局变量-定时删除).xlsm
5星 · 资源好评率100%
在VBA (Visual Basic for Applications) 中,你可以使用Date函数和条件公式来实现这个功能。假设你的数据存储在一个Excel工作表中,B列为日期列,Lastday、lastday1和lastday2都是你想检查的日期变量。以下是步骤:
```vba
Sub FilterDates()
Dim ws As Worksheet
Dim BColumn As Range
Dim Lastday As Date
Dim lastday1 As Date
Dim lastday2 As Date
' 假设Lastday = Date - 1 (昨天)
Set Lastday = Date - 1
' 假设lastday1 = Lastday - 1 (昨天的前一天)
Set lastday1 = Lastday - 1
' 假设lastday2 = lastday1 - 1 (昨天的前两天)
Set lastday2 = lastday1 - 1
' 选择B列
Set BColumn = ws.Range("B:B") ' 确保替换 "ws" 为你实际的工作表对象
' 应用条件过滤
BColumn.AutoFilter Field:=1, Criteria1:="<>" & Lastday, Operator:=xlAnd, Criteria2:="<>" & lastday1, Operator:=xlAnd, Criteria3:="<>" & lastday2
End Sub
```
在这个例子中,你需要将`ws` 替换为你的工作表名称,然后运行这个宏。它会筛选出B列中不等于Yesterday, Yesterday's Previous Day 和 Yesterday's Two Days Ago 的所有行。
阅读全文