【发布时间】:2022-01-26 15:30:37
【问题描述】:
我有一个数据集,每个月都会从另一个电子表格中添加新数据。另一个电子表格。我录制了这个宏来做我想让它在这个月做的事情,但我不知道如何将时间向前推进。
正如您在下面的代码中看到的,我有条件“2022”和条件“3”,它们表示一个月。如何创建代码以知道下一次运行应该是“2022”和“4”等?该月的最大数字为 12,最终将变为“2023”和“1”。感谢您的帮助!
ActiveSheet.Range("$A$1:$AH$24811").AutoFilter Field:=11, Criteria1:="2022"
ActiveSheet.Range("$A$1:$AH$24811").AutoFilter Field:=12, Criteria1:="3"
ActiveSheet.Range("$A$1:$AH$24811").AutoFilter Field:=5, Criteria1:="=AP", _
Operator:=xlOr, Criteria2:="=Charges"
ActiveSheet.Range("$A$1:$AH$24811").AutoFilter Field:=1, Criteria1:= _
"=ST.2", Operator:=xlOr, Criteria2:="=ST.1"
ActiveCell.Offset(6504, 0).Range("A1").Select
Selection.End(xlDown).Select
ActiveCell.Offset(237, 0).Range("A1").Select
结束子
【问题讨论】:
-
最后一行数据中的值是2022和3吗?
-
技术上是的。对列进行排序后,新数据将从另一个工作表粘贴到最后一行。
-
并且大概
$A$1:$AH$24811的范围也需要更改以包含粘贴的数据? -
它们是 A 到 AH 列吗?
-
是的。新数据将粘贴在底部。文件不一样,这意味着列标题的顺序不同。操作:将“主要电子表格”排序到最近的会计年度和期间。为最新的会计年度、期间和类型对“新数据电子表格”进行排序。然后将新电子表格复制到主电子表格的相应列中。我想我可以将副本编码过去。我只是不知道如何做过滤器。感谢您的帮助和意见。