在多个Excel文件上运行宏

时间:2015-04-15 13:14:12

标签: windows excel vba powershell

我确定这个问题已被提出,但我无法找到适合我情况的解决方案。我有一个文本文件,其中包含用于在输入的每条记录中输入时间日期的宏指令。我一直在通过VB"查看代码"在Excel文件中粘贴代码。查看并将其保存为我想要的文件名。

问题是我需要永久地对我必须修改的数百个文件执行此操作。有没有办法实现自动化?

我试图录制一个宏,我粘贴代码并保存文件,但它会保存我录制宏的原始文件的文件名。有没有办法编辑宏以使用当前文件名保存当前目录中的文件?

我录制一个宏, 我将此代码粘贴到工作表中:

Private Sub Worksheet_Change(ByVal Target As Range) ' Code goes in the Worksheet specific module Dim rng As Range ' Set Target Range, i.e. Range("A1, B2, C3"), or Range("A1:B3") Set rng = Target.Parent.Range("A:A") ' Only look at single cell changes If Target.Count > 1 Then Exit Sub ' Only look at that range If Intersect(Target, rng) Is Nothing Then Exit Sub ' Action if Condition(s) are met (do your thing here...) With Target .Offset(, 1) = Date .Offset(, 2) = Time End With End Sub 然后我停止宏。这是结果:

Sub save() save Macro Sheets("Sheet1").Select ChDir "P:\Inventory\templates\NB (D) Kelso 011" ActiveWorkbook.SaveAs Filename:= _ "P:\Inventory\templates\NB (D) Kelso 011\D101.xlsm", FileFormat:= _ xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False End Sub

1 个答案:

答案 0 :(得分:0)

我目前正在使用旧的2003 Excel工作 - 当我打开宏时,我在那里有宏列表和“使用所有打开文件中的宏”或“仅使用此文件”开关。因此,只需使用宏创建一个带有代码的文件,然后打开其他文件并从另一个文件调用宏,Excel就可以处理这个! 对于较新的版本我不能尝试,但我相信这个有用的东西不能被杀死??