㈠ 如何同宏批量處理同個文件夾的多個EXCEL,宏我已經錄制好了,就是要自動打開文件執行宏然後保存關閉
Sub VBA打開文件夾內所有Excel表格()
Dim myPath$, myFile$, WB As Workbook '這個$ 是相當於定義字元串
myPath = "F:\" '把文件路徑知定義給變數,這里請自行更改,記得最後要加一個反斜杠
myFile = Dir(myPath & "*.xls*") '依次找尋指定路徑中的*.xls,或者xlsx文件
Do While myFile <> "" '當指定路徑中有文件時進行循環
If myFile <> ThisWorkbook.Name Then '如果我們這個宏文件在需要處理的文件夾之中,這個判斷就會跳過下面的操作
Set WB = Workbooks.Open(myPath & myFile) '打開符合要求的文件
WB.Close 0 '不保存文件直接關閉
End If
myFile = Dir '找尋下一個*.xls,或者xlsx文件
Loop
Set WB = Nothing '釋放變數內存
End Sub
㈡ 如何批量對同一個文件夾內幾百個EXCEL文件都同時執行這個宏命令
'如果要批量清除工作表保護密碼,建議代碼如下,否則將粗體字部分代碼改成:
'Call 你的程序名稱
'(註:如果要批量破解密碼,幾百個工作簿,上千個工作表,你可能要破解幾個月,如果密碼復雜點,或許幾年都破解不出來,還是建議用以下代碼清除為好)
Sub 批量清除工作表保護密碼()
Dim myPath$, myFile$, AK As Workbook, sh As Worksheet
Application.ScreenUpdating = False
myPath = ThisWorkbook.Path & ""
myFile = Dir(myPath & "*.xls")
Do While myFile <> ""
If myFile <> ThisWorkbook.Name Then
Set AK = Workbooks.Open(myPath & myFile)
For Each sh In Worksheets
sh.Protect AllowFiltering:=True
sh.Unprotect
Next
AK.Close True
End If
myFile = Dir
Loop
Application.ScreenUpdating = True
End Sub
㈢ 對多個excel文件,使用宏批處理
sub 多文件寫入
Dim XLS
Xls = Dir(excel文件夾路徑 & "\*.xls") '指定要遍歷excel文件的路徑及文件類型
Do While Xls <> ""
Set Xls = Workbooks.Open(excel文件夾路徑 & "\" & Xls) '打開excel文件
Sheets(1).Select
Sheets(1).Cells(1, 1).Value = "AAAA" '在A1單元格輸入AAAA(行序號,列序號)
Xls.Close True
Xls = Dir '下一個excel文件
Loop
Set Xls = Nothing '釋放變數內存
end sub
㈣ 如何對N個excel文件,批量執行同一個宏
軟體版本:Office2007
舉例說明如下:
1.Alt+F11,輸入代碼如下:
代碼解釋:先查找當前文件夾下所有的xlsx文件,並通過循環依次打開文件
然後對當前激活狀態的Excel文件執行宏命令(此處是給A1單元格賦值)
保存當前Excel文件,並關閉
繼續打開下一個,重復上述操作。