请教一下会编程或会用宏的观友_风闻
钢铁怀玉-陌上花开,可缓缓归矣。昨天 16:37
我的工作,需要将每天的数据写入一个xlsx文件,并以当天日期命名,放在以相应年月命名的文件夹内,然后再将该文件的当天数据按一定规则运算汇总后写入另一个xlsx文件。因为都是重复工作,于是我写了一个宏,让程序自己来做这件事。目前运转良好,帮我节省了大量时间,而且还不易出错。
美中不足的是,每次运行都要将宏代码里面前一天使用的文件名替换为当天新生成的文件名,即:将代码里昨天使用的文件名“当天数据_20231112.xlsx”替换成今天新生成的文件名“当天数据_20231113.xlsx”。
我的问题是:类似"E:\实时数据\2023\202311\当天数据_20231113.xlsx"这样的字串常量,如何改成按日期自动更新的变量?在宏代码里如何引用?
Attribute VB_Name = “模块1”
Sub myhz()
Attribute myhz.VB_ProcData.VB_Invoke_Func = “k\n14”
Workbooks.Open Filename:=“E:\实时数据\2023\202311\当天数据_20231113.xlsx”
Sheets(“Sheet1”).Select
Sheets(“Sheet1”).Copy After:=Sheets(1)
Sheets(“Sheet1 (2)”).Select
Sheets(“Sheet1 (2)”).Name = “Sheet2”
Rows(“1:10”).Select
Range(“A10”).Activate
Selection.Delete Shift:=xlUp
Columns(“E:Q”).Select
Selection.Delete Shift:=xlToLeft
Windows.Arrange ArrangeStyle:=xlVertical
Windows(“汇总数据.xlsx”).Activate
Sheets(“Gongxhi”).Select
Range(“E1:H2”).Select
Selection.Copy
Windows(“当天数据_20231113.xlsx”).Activate
Range(“E1”).Select
ActiveSheet.Paste
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Range(“E2:H2”).Select
Application.CutCopyMode = False
Selection.AutoFill Destination:=Range(“E2:H61”), Type:=xlFillDefault
‘Range(“E2:H61”).Select
ActiveWorkbook.Save
Columns(“A:A”).Select
’ Range(“A61”).Activate
Selection.Copy
Windows(“汇总数据.xlsx”).Activate
Sheets(“Fixedsys”).Select
Columns(“B:B”).Select
ActiveSheet.Paste
Windows(“当天数据_20231113.xlsx”).Activate
Columns(“B:B”).Select
‘Range(“B28”).Activate
‘Application.CutCopyMode = False
Selection.Copy
Windows(“汇总数据.xlsx”).Activate
Columns(“D:D”).Select
ActiveSheet.Paste
Windows(“当天数据_20231113.xlsx”).Activate
Columns(“E:E”).Select
‘Range(“E28”).Activate
‘Application.CutCopyMode = False
Selection.Copy
Windows(“汇总数据.xlsx”).Activate
Columns(“F:F”).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Windows(“当天数据_20231113.xlsx”).Activate
Columns(“F:F”).Select
‘Range(“F28”).Activate
‘Application.CutCopyMode = False
Selection.Copy
Windows(“汇总数据.xlsx”).Activate
Columns(“H:H”).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWorkbook.Save
Rows(“2:61”).Select
‘Application.CutCopyMode = False
Selection.Copy
End Sub
