乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 如何用vbs批量修改多个Excel表里某个工作簿里的特定单元...

如何用vbs批量修改多个Excel表里某个工作簿里的特定单元...

作者:乔山办公网日期:

返回目录:excel表格制作


方法/步骤
首先打开excel表格,你可zd能要处理一堆表格,如

点击其中一张工作表,在视图页面,找到“宏”的命令符。

点击【宏】,然后点击【录制宏】

在【录制宏】界面,你可以为新建的宏命名,同时也可以为其设置快捷键,注意不要与office原有的快捷键冲突。小编一般命名为ctrl+n,然后点击确定。

接下来,你所进行的每一步操作都会被【宏】所记忆,注意要操作准确,不然会加大计算量,免不了出错。例如修改字体,调整页面布局等。

等这些操作进行完之后,点击【宏】,停止录制。

接下来你就可以在另一张表格中按照宏定义来修改格式了。点击【宏】,查看宏

在查看宏界面,找到你定义宏名称,然后点击【执行】就可以了,你会发现原来的格式都统一发生了变化。如果你定义了快捷键的话,也可以直接按快捷键,如ctrl+n,也能很快地改过来。

其实整体这个问题的思路很明了
首先就是提取文件路径,然后禁止屏幕刷新等,
再是做DO WHILE LOOP循环语句,打开每个文件进行修改
最后保存e79fa5e98193e4b893e5b19e331、关闭修改文件
代码如下:
Sub 提取()
Dim myPath, myFile
myPath = ThisWorkbook.Path & "\" '给路径
myFile = Dir(myPath & "\*.xls") '提取一个文件名
Application.ScreenUpdating = False '关闭屏幕刷新
Application.DisplayAlerts = False '禁用所有事件
Do While myFile > "" '当文件名不为空循环
Workbooks.Open myPath & myFile '打开目录中的一个文件
ActiveWorkbook.Sheets("3-8喷射砼").Range("F31") = "C30" '激活表:3-8喷射砼,并修改F31单元格数据为:“C30”
ActiveWorkbook.Save '保存打开的工作簿
ActiveWorkbook.Close '关闭打开的工作簿
myFile = Dir '再用dir函数提取一个文件名
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub


已经测试过,通过了的。


望采纳,谢谢!


如下两种方法可供选择:bat批量处理和VBA。
  1、BAT批处理文件
  A. 获取文件名
  选定部分或全选所有文件 > Shift+右键 > 复制为路径 > 粘贴到Excel
  B. 编辑命令7a64e78988e69d83339
  l 替换文件名前的路径(全部替换)
  l 生成如下字符(空格不可缺少): REN_原文件名_新文件名
  可以使用EXCEL公式批量处理:
  例如如下公式可将文件名前增加序列号1,2,3等。
  =CONCATENATE("REN","",A1," ",ROW(A1),A1)生成批处理文件
  C. 批处理
  l 文件夹内新建txt文件
  l 复制所有excel中编辑好的字符到txt文件中
  l 文件扩展名更改为bat,运行。

  2、VBA法
  alt+F11,复制如下代码到代码栏,F5运行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Sub Rename_()
Dim my_Path, my_Doc As String

With Application.FileDialog(msoFileDialogFolderPicker) '定位文件夹
.Show
.AllowMultiSelect = False
my_Path = .SelectedItems(1)
End With

Dim i As Single
i = 1
my_Doc = Dir(my_Path & "\" & "*") '遍历所有文件
Do While Len(my_Doc) <> 0
Name my_Path & "\" & my_Doc As my_Path & "\" & i & my_Doc '更名:增加序号
i = i + 1
my_Doc = Dir
Loop

my_Doc = Dir(my_Path & "\" & "*")
i = 1
Do While Len(my_Doc) <> 0 '复制到excel
Cells(i, 1) = my_Doc
i = i + 1
my_Doc = Dir
Loop

dim eapp, ebook, esheet,i
set eapp=createobject("excel.application")
for i=1 to 30
    set ebook=eapp.open("201901" & format(i,"00") & ".xlsx")
    for each esheet in ebook.sheets
        esheet.cells(1,6).value = "检查日期:2018年zhidao3月"
    next
    ebook.save
    ebook.close
next
eapp.quit

相关阅读

关键词不能为空

ppt怎么做_excel表格制作_office365_word文档_365办公网