我確定這個問題被問到,但我找不到適用於我的情況的解決方案。我有一個包含宏指令的文本文件,用於在輸入的每條記錄中輸入時間日期。我已經通過VB「視圖代碼」視圖將代碼粘貼到Excel文件中,並將其保存爲我想要的文件名。在多個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
如果您只需要可用於打開任何工作簿的宏,請將包含宏的工作簿保存爲默認位置的Excel加載項(.xlam)。然後轉到開發人員 - >加載項並選中該框以啓用它。如果你想修改宏本身來打開多個文件,你可能想編輯你的問題來包含代碼。 – Comintern
我無法使用你的指導,在Excel 2013中顯然不支持xlam。 –