Excel中批量对多个结构相同的工作表执行操作,可以使用VBA宏来实现

发布于:2025-05-15 ⋅ 阅读:(9) ⋅ 点赞:(0)

【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 

《项目案例分享》

《极客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 Worksheet
    Dim cell As Range
    Dim targetRange As Range
    
    Application.ScreenUpdating = False  ' 关闭屏幕刷新以提高速度
    
    For Each ws In ThisWorkbook.Worksheets  ' 遍历所有工作表
        With ws
            ' 示例1:处理E列的单元格
            Set targetRange = .Range("E1:E12")
            For Each cell In targetRange
                If IsNumeric(cell.Value) Then cell.Value = cell.Value * 2
            Next cell
            
            ' 示例2:处理F列的单元格(如F1)
            Set targetRange = .Range("F1")
            For Each cell In targetRange
                If IsNumeric(cell.Value) Then cell.Value = cell.Value * 2
            Next cell
        End With
    Next ws
    
    Application.ScreenUpdating = True  ' 恢复屏幕刷新
    MsgBox "操作完成!"
End Sub

4)修改代码中的区域(匹配自己的)

  •  将 "E1:E12" 改为你需要处理的列(如 "B1:B10")。
  • 将 "F1" 改为其他需要处理的区域,若不需要可删除该部分。

5)运行宏

返回Excel界面,按 Alt + F8 打开宏窗口 → 选择 MultiplyCellsByTwo → 点击「运行」。

作于202505141330,已归档

——————————————————————————————————

本文为博主原创文章,未经博主允许不得转载!

若本文对您有帮助,轻抬您发财的小手,关注/评论/点赞/收藏,就是对我最大的支持!

祝君升职加薪,鹏程万里!


网站公告

今日签到

点亮在社区的每一天
去签到