excel - 如何修改录制的 VBA 宏以每周工作?
问题描述
我正在录制 VBA 宏以使涉及大量手动任务的每周报告运行得更快,但我有一些问题。我必须复制、过滤等 10 个不同的文件。
基本上宏是什么:我选择第一行,应用过滤器,过滤它,然后用 ctrl+shit 选择它,复制并粘贴到另一个文件中,然后在另一个文件中有一个带有时间序列的新列日期,我 ctrl+d,将日期更改为这周(总是 +7 天),然后将其拉到数据集的底部。
1,如果我用ctrl+shift+right然后left进行记录,那么即使每周有不同的行数,也应该每周选择整个数据集,对吗?
2,下周运行宏的时候,是不是一定要打开两张表,还是会自动打开这个2.表?
3,另一个文件是时间序列文件,所以我必须修改最后一列中的日期,但我的问题是,如果我在录制宏时输入日期,每次运行宏时都会输入该日期,如何修改录制的宏以将日期增加 7 天?
4、文件名每周都会变化来代表日期,例如:本周xy20200801,但下周将是xy20200808,这是导致宏在上周文件中运行的问题吗?如果是,我可以更改某些内容以使其始终在当前周文件中运行吗?
这是我对 2 个测试文件所做的记录:
Sub TEST()
'
' TEST Makro
'
'
Range("A1:D1").Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$D$5").AutoFilter Field:=3, Criteria1:="w"
Range("A1").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Windows("TIMEseries20200801.xlsx").Activate
Range("A1").Select
Selection.End(xlDown).Select
Range("A5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E5").Select
Application.CutCopyMode = False
Selection.FillDown
ActiveCell.FormulaR1C1 = "2020.08.01"
Range("E6").Select
Selection.FillDown
Windows("Sheet1.xlsx").Activate
End Sub
解决方案
推荐阅读
- django - 如何解决我的 CPU 利用率问题,我正在使用带有 nginx、uwsgi 和 django 的 ubuntu ec2 实例
- kubernetes - k8s pvc 中的 aws-efs “ProvisioningFailed - 没有卷插件匹配”
- java - 在方法中从 1-10 生成 3 个随机数字的问题
- angular - 如何将“名称”绑定到路由器插座以呈现动态创建的 angular-cdk 组件
- python - 使用字典比较不同列中的行值
- oracle - 所有条目选择的 max_blocking_factor 和索引提示
- python - 如何使用信号在 Django 中基于用户属性创建特定配置文件
- cookies - 未在 iOS Safari 或 Chrome 中设置或发送请求的 Cookie 适用于所有 Android 和桌面浏览器
- c# - 如何测试 JSON 对象中的必填字段?
- continuous-integration - 如何在 Azure DevOps/TFS2018 中设置多个构建环境?