我确定这个问题已被提出,但我无法找到适合我情况的解决方案。我有一个文本文件,其中包含用于在输入的每条记录中输入时间日期的宏指令。我一直在通过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
答案 0 :(得分:0)
我目前正在使用旧的2003 Excel工作 - 当我打开宏时,我在那里有宏列表和“使用所有打开文件中的宏”或“仅使用此文件”开关。因此,只需使用宏创建一个带有代码的文件,然后打开其他文件并从另一个文件调用宏,Excel就可以处理这个! 对于较新的版本我不能尝试,但我相信这个有用的东西不能被杀死??