excel/wps/表格-遍历文件,批量写excel
来源:网络收集 点击: 时间:2024-07-27随便新建几个excel
比如我要修改这三个文件的sheet1中的D22单元格文字为123

另外新建一个运行代码的工作簿
打开


打开代码窗口

十几万个都在一个文件夹里吗
嵌套的,但是如果你写出来比较麻烦,我可以放在一个文件夹里
不麻烦
根据实际测试,尽可能考虑全面一些,免得到时候再改
后缀都是xlsx吗
还有XLS

设置参数



写代码,调试,目测是想要的效果,结束
Sub a001()
路径 = .Value
遍历 路径
End Sub
Function 遍历(ByVal 路径 As String)
Set 对象_文件_1 = CreateObject(Scripting.FileSystemObject)
Set 对象_文件_2 = 对象_文件_1.GetFolder(路径)
Set 文件_集合 = 对象_文件_2.Files
If 文件_集合.Count = 0 Then
Else
For Each 文件 In 文件_集合
If InStr(1, 文件.Name, xlsm) 0 Then
GoTo 1
End If
If InStr(1, 文件.Name, xlsx) 0 Or InStr(1, 文件.Name, xls) 0 Then
Debug.Print 文件.Path
文件名 = 文件.Path
x写 文件名
End If
1:
Next
End If
Set 文件夹_集合 = 对象_文件_2.SubFolders
If 文件夹_集合.Count = 0 Then
Else
For Each 文件夹 In 文件夹_集合
Call 遍历(文件夹.Path)
Next
End If
End Function
Function x写(文件名)
打开工作簿
Workbooks.Open Filename:=文件名
工作簿名称 = ActiveWorkbook.Name
For 循环 = 6 To 10
If Workbooks(dm.xlsm).Sheets(sheet1).Range(b 循环) = Then
Exit For
End If
工作表名称 = Workbooks(dm.xlsm).Sheets(sheet1).Range(b 循环).Offset(0, 0).Value
单元格地址 = Workbooks(dm.xlsm).Sheets(sheet1).Range(b 循环).Offset(0, 1).Value
修改内容 = Workbooks(dm.xlsm).Sheets(sheet1).Range(b 循环).Offset(0, 2).Value
x写excel 工作簿名称, 工作表名称, 单元格地址, 修改内容
Next
保存
b保存
关闭工作簿
Workbooks(工作簿名称).Close
End Function
Function x写excel(工作簿名称, 工作表名称, 单元格地址, 修改内容)
Workbooks(工作簿名称).Sheets(工作表名称).Range(单元格地址) = 修改内容
End Function
Function b保存()
ActiveWorkbook.Save
End Function




版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1016208.html