Sub 打开文件夹内所有Excel表格并修改() '打开文件夹内所有Excel表格并修改
'
'
'
Dim myPath$, myFile$, WB As Workbook '这个$是相当于定义字符串
myPath = "E:\test\" '把文件路径定义给变量,这里请自行更改,记得最后要加一个反斜杠
myFile = Dir(myPath & "*.xls*") '依次找寻指定路径中的*.x1s,或者x1sx文件
Do While myFile <> "" '当指定路径中有文件时进行循环
If myFile <> ThisWorkbook.Name Then '如果我们这个宏文件在需要处理的文件夹之中,这个判断就会跳过下面的操作
Set WB = Workbooks.Open(myPath & myFile) '打开符合要求的文件
'操作文件
'MsgBox (myFile) '弹窗提示文件名,测试用,默认不显示
Dim i As Long
For i = 1 To Sheets.Count '盘点workbook中sheet的数量,下面选定sheet操作
If i = 2 Then '操作第2个sheet
'自动各列调整宽度
Sheets(i).Activate
Sheets(i).Columns("A:K").Select
Sheets(i).Columns("A:K").EntireColumn.AutoFit
'缩放把所有列打印到同一页
Sheets(i).PageSetup.Zoom = False
Sheets(i).PageSetup.FitToPagesWide = 1
Sheets(i).PageSetup.FitToPagesTall = False
End If '工作表操作结束
If i = 3 Then '操作第3个sheet
'同上自动各列调整宽度
Sheets(i).Activate
Sheets(i).Columns("A:M").Select
Sheets(i).Columns("A:M").EntireColumn.AutoFit '调整宽度
Sheets(i).PageSetup.Zoom = False
Sheets(i).PageSetup.FitToPagesWide = 1
Sheets(i).PageSetup.FitToPagesTall = False
End If
Next '循环结束
'Range("B6").Select '需要修改的地方
'ActiveCell.FormulaR1C1 = "需要修改的内容" '修改此位置的内容
'ActiveWorkbook.Save 保存修改
WB.Close 1 '保存文件直接关闭
End If
myFile = Dir '找寻下一个*.x15,或者x1sx文件
Loop
Set WB = Nothing '释放变量内存
End Sub
VBA打开文件夹所有EXCEL并按需操作
最新推荐文章于 2026-07-01 08:51:50 发布
这段代码用于遍历指定文件夹内的Excel文件,自动调整第二和第三个工作表的列宽,并设置页面缩放以适应单页打印。它会忽略含有宏的工作簿,并保存修改后的文件。
1万+

被折叠的 条评论
为什么被折叠?



