Excel中批量对多个结构相同的工作表执行操作,可以使用VBA宏来实现
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来!
《项目案例分享》
《极客DIY开源分享》
《嵌入式通用开发实战》
《C++语言开发基础总结》
《从0到1学习嵌入式Linux开发》
《QT开发实战》
《Android开发实战》
《实用硬件方案设计》
《结构建模设计》
《数据库开发总结》
《JAVA入门基础》
《JavaWeb开发实战》
长期持续带来更多案例与技术文章分享;
欢迎商业项目咨询,10年+软硬全栈内功,助力解决您的尊贵需求。
原文链接:https://blog.csdn.net/w464960660/article/details/147952236
——————————————————————————————————
目录
0 需求
1 操作步骤
0 需求
处理excel表格数据,一个excel中有将近100个sheet,这个时候需要将每个sheet的某一列数据以及某一个单元格数值都乘以2,难道需要一个个sheet进行手动操作吗?那实在是太费劲了。为了提高效率,可以使用VBA宏来批量处理。
1 操作步骤
1)打开VBA编辑器
按下 Alt + F11
打开VBA编辑器。
2)插入新模块
右键点击左侧项目树中的任意工作表 → 选择「插入」→「模块」。
3)复制以下代码到模块中
Sub MultiplyCellsByTwo()Dim ws As WorksheetDim cell As RangeDim targetRange As RangeApplication.ScreenUpdating = False ' 关闭屏幕刷新以提高速度For Each ws In ThisWorkbook.Worksheets ' 遍历所有工作表With ws' 示例1:处理E列的单元格Set targetRange = .Range("E1:E12")For Each cell In targetRangeIf IsNumeric(cell.Value) Then cell.Value = cell.Value * 2Next cell' 示例2:处理F列的单元格(如F1)Set targetRange = .Range("F1")For Each cell In targetRangeIf IsNumeric(cell.Value) Then cell.Value = cell.Value * 2Next cellEnd WithNext wsApplication.ScreenUpdating = True ' 恢复屏幕刷新MsgBox "操作完成!"
End Sub
4)修改代码中的区域(匹配自己的)
- 将
"E1:E12"
改为你需要处理的列(如"B1:B10"
)。 - 将
"F1"
改为其他需要处理的区域,若不需要可删除该部分。
5)运行宏
返回Excel界面,按 Alt + F8
打开宏窗口 → 选择 MultiplyCellsByTwo
→ 点击「运行」。
作于202505141330,已归档
——————————————————————————————————
本文为博主原创文章,未经博主允许不得转载!
若本文对您有帮助,轻抬您发财的小手,关注/评论/点赞/收藏,就是对我最大的支持!
祝君升职加薪,鹏程万里!