如何利用VBA批量更改Excel文件的内容

您所在的位置:网站首页 excel内容批量修改 如何利用VBA批量更改Excel文件的内容

如何利用VBA批量更改Excel文件的内容

2023-12-11 18:05| 来源: 网络整理| 查看: 265

心得(5):利用VBA批量更改Excel文件的内容 问题:因为接受的所有Excel文件都是相同格式的,但是有个单元格的内容就是需要,主办方来更改,如下所示: 在这里插入图片描述 获奖级别,得由主办方来更改,但是如果一个一个打开的话这样就很麻烦,(如何把所有文件分为,一等奖,二等奖等各个文件,暂时还不知道,我是通过一个个来排除的)在把他们分开之后,直接利用VBA快速更改,

更改步骤:

首先还是环境配置,避免出现差错如下所示: 在这里插入图片描述然后开始循环每个文件,就像之前的文件一样然后打开每个文件后,更改特定的内容: 在这里插入图片描述 一样要记得保存文件,VBA退出文件是不会帮你自动保存的不断循环,然后退出程序即可

源码如下:

Sub 批量改名() Dim mypath As String, myname As String, awbname As String Dim wbcount As Integer '关闭excel的刷新 Application.ScreenUpdating = False '禁止弹出对话框 Application.DisplayAlerts = False '得到本文件的相对地址 mypath = ActiveWorkbook.Path '当前工作的excel的文件名 awbname = ActiveWorkbook.Name '任意打开文件夹下的某一个文件 wbcount = 0 myname = Dir(mypath & "\" & "*.xlsx") '如果当前的文件名为空的字符串("")表示已经没有更多的文件了跳出循环 Do While myname "" If myname awbname Then '打开当前的文件夹 Set wb = Workbooks.Open(mypath & "\" & myname) wbcount = wbcount + 1 Range("I" & 5).Value = "三等奖" Range("I" & 5).Font.ColorIndex = 0 '找了很久才找到了这个错误,因为如果不保存的话退出是不会有改变的 wb.save '关闭文件 wb.Close False End If '随机打开本文件夹的另一个文件 myname = Dir Loop '结束程序并且恢复之前的操作 MsgBox "一共更改了 " & wbcount & " 个文件" Application.ScreenUpdating = True Application.DisplayAlerts = True End Sub


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3