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

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

《项目案例分享》

《极客DIY开源分享》

《嵌入式通用开发实战》

《C++语言开发基础总结》

《从0到1学习嵌入式Linux开发》

《QT开发实战》

《Android开发实战》

《实用硬件方案设计》

《结构建模设计》

《数据库开发总结》

《JAVA入门基础》

《JavaWeb开发实战》

长期持续带来更多案例与技术文章分享;

欢迎商业项目咨询,10年+软硬全栈内功,助力解决您的尊贵需求。

原文链接: https://blog.csdn.net/w464960660/article/details/147952236


目录

[0 需求](#0 需求)

[1 操作步骤](#1 操作步骤)


0 需求

处理excel表格数据,一个excel中有将近100个sheet,这个时候需要将每个sheet的某一列数据以及某一个单元格数值都乘以2,难道需要一个个sheet进行手动操作吗?那实在是太费劲了。为了提高效率,可以使用VBA宏来批量处理。

1 操作步骤

1)打开VBA编辑器

按下 Alt + F11 打开VBA编辑器。

2)插入新模块

右键点击左侧项目树中的任意工作表 → 选择「插入」→「模块」。

3)复制以下代码到模块中

bash 复制代码
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,已归档


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

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

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

相关推荐
UrbanJazzerati34 分钟前
掌握 xlwings 的 used_range:高效处理 Excel 数据区域
python·面试·excel
m0_555762904 小时前
Excel ——INDEX + MATCH 组合
excel
焚 城4 小时前
Excel数据导出小记二: [大数据示例]
大数据·excel
偷心伊普西隆5 小时前
Python EXCEL 小技巧:最快重新排列dataframe函数
python·excel
Leslie_Lei5 小时前
【EasyExcel】Excel工具类2.0
excel
HappyAcmen7 小时前
【自动化实战】Python操作Excel/WORD/PDF:openpyxl与docx库详解
python·自动化·excel
CHEN5_0219 小时前
【CouponHub项目开发】EasyExcel解析Excel并使用线程池异步执行和延时队列兜底
java·数据库·excel
我想起个名字19 小时前
sqlserver2008导入excel表数据遇到的问题
sqlserver·excel
Metaphor69219 小时前
Java 如何在 Excel 中添加超链接?使用 Spire.XLS for Java 轻松实现
java·经验分享·excel
JAVA不会写21 小时前
EasyExcel:阿里开源的高效 Excel 处理工具,轻松解决 POI 内存溢出问题
excel