作者:绿色风
分类:
时间:2022-08-17
浏览:114
楼主 kevinchengcw |
Q: 如何用vba代码批量去除当前工作簿目录下的其他工作簿的工作表背景? A: 代码如下:
- Sub test()
- Dim Wb As Workbook, Ws As Worksheet, FN$
- On Error Resume Next '加上容错语句防止意外出错
- Application.ScreenUpdating = False '关闭屏幕刷新,提高处理速度
- Application.DisplayAlerts = False '关闭警告信息
- FN = Dir(ThisWorkbook.Path & "\*.xls*") '查找当前工作簿目录下的excel文件
- Do While FN <> "" '当文件名不为空时循环执行
- If FN <> ThisWorkbook.Name Then '当文件名不等于当前工作簿文件名时执行下述操作
- Set Wb = Workbooks.Open(ThisWorkbook.Path & "\" & FN) '打开当前循环到的文件并赋值给工作簿变量Wb
- With Wb '对Wb进行操作
- For Each Ws In .Worksheets '循环工作簿中的第个工作表
- With Ws
- .SetBackgroundPicture "" '将工作表的背景文件名设置为空(即删除背景)
- End With
- Next Ws
- End With
- Wb.Close True '关闭并保存文件
- End If
- FN = Dir '循环到下一个文件
- Loop
- Set Wb = Nothing '清空工作簿项目
- Application.DisplayAlerts = True '打开警告信息
- Application.ScreenUpdating = True '打开屏幕刷新
- MsgBox "处理完成" '显示提示信息
- End Sub
同理还可以为工作簿添加相同背景。 容错语句可以防止工作簿有密码等情况出现时造成的出错。 |
2楼 亡者天下 |
过来学习一下 |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一