ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E文精选 > Excel VBA > 打开某一目录中所有的工作簿,修改某单元格内容

打开某一目录中所有的工作簿,修改某单元格内容

作者:绿色风 分类: 时间:2022-08-17 浏览:141
楼主
杨开科
  1. Sub test() '打开某一目录中所有的工作簿,依次修改某单元格内容
  2. '变量声明
  3. Dim wb As Workbook
  4. Dim sht As Worksheet
  5. Dim i%
  6. Dim err

  7. Application.ScreenUpdating = False '关闭屏幕更新,防止闪屏、加快代码运行

  8. With Application.FileSearch '建立一个搜索
  9. .NewSearch '新搜索
  10. .LookIn = "D:\1391" '设定搜索的范围
  11. .FileType = msoFileTypeExcelWorkbooks '查找所有Excel类型的文件
  12. .Execute
  13. For i = 1 To .FoundFiles.Count '逐个处理找到的文件列表中的每个工作簿
  14. Set wb = Workbooks.Open(.FoundFiles(i)) '打开它
  15. For Each sht In wb.Sheets '在新打开的工作簿的工作表里循环
  16. If sht.Name = "Sheet1" Then '先判断表名,如果表名为Sheet1则写入数据
  17. sht.[A1] = Date '写入当天日期数据
  18. Exit For '或找到Sheet1则立即退出For循环,不再往后找
  19. Else '如果表名不是Sheet1,表明未找到
  20. err = err + 1 '记录错误次数
  21. End If
  22. Next sht '循环下一个工作表
  23. If err > 0 Then MsgBox wb.FullName & ",此工作簿中无Sheet1工作表,数据写入失败!", 16 '如果循环完工作簿中的所有工作表均无Sheet1,提示错误信息
  24. wb.Close True '保存并关闭打开的工作簿
  25. Next i '继续打开下一个工作簿
  26. End With '结束With语句块

  27. Application.ScreenUpdating = True '重新打开屏幕更新
  28. MsgBox "已处理完毕!", 64, "提示"

  29. End Sub
2楼
apolloh
谢谢杨兄分享,FileSearch在Excel2007中已经取消了,这帖移动到【难忘经典】中。
3楼
高玉甫


经典!学习了,谢谢了。
4楼
mjgdxx
实用的功能,并且注释多
5楼
杨开科
自 Microsoft Office 2003 以来的对象模型更改xlsx.rar

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap