ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > E问E答 > Excel VBA > 如何用vba代码批量去除当前工作簿目录下的其他工作簿的工作表背景?

如何用vba代码批量去除当前工作簿目录下的其他工作簿的工作表背景?

作者:绿色风 分类: 时间:2022-08-17 浏览:114
楼主
kevinchengcw
Q: 如何用vba代码批量去除当前工作簿目录下的其他工作簿的工作表背景?
A: 代码如下:
  1. Sub test()
  2. Dim Wb As Workbook, Ws As Worksheet, FN$
  3. On Error Resume Next   '加上容错语句防止意外出错
  4. Application.ScreenUpdating = False   '关闭屏幕刷新,提高处理速度
  5. Application.DisplayAlerts = False  '关闭警告信息
  6. FN = Dir(ThisWorkbook.Path & "\*.xls*")   '查找当前工作簿目录下的excel文件
  7. Do While FN <> ""   '当文件名不为空时循环执行
  8.     If FN <> ThisWorkbook.Name Then   '当文件名不等于当前工作簿文件名时执行下述操作
  9.         Set Wb = Workbooks.Open(ThisWorkbook.Path & "\" & FN)   '打开当前循环到的文件并赋值给工作簿变量Wb
  10.         With Wb  '对Wb进行操作
  11.             For Each Ws In .Worksheets   '循环工作簿中的第个工作表
  12.                 With Ws
  13.                     .SetBackgroundPicture ""   '将工作表的背景文件名设置为空(即删除背景)
  14.                 End With
  15.             Next Ws
  16.         End With
  17.         Wb.Close True   '关闭并保存文件
  18.     End If
  19.     FN = Dir   '循环到下一个文件
  20. Loop
  21. Set Wb = Nothing   '清空工作簿项目
  22. Application.DisplayAlerts = True   '打开警告信息
  23. Application.ScreenUpdating = True   '打开屏幕刷新
  24. MsgBox "处理完成"   '显示提示信息
  25. End Sub


同理还可以为工作簿添加相同背景。
容错语句可以防止工作簿有密码等情况出现时造成的出错。
2楼
亡者天下
过来学习一下

免责声明

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

评论列表
sitemap