目录
第26节 合并多工作簿数据成总表
场景:想将17文件夹下,多个工作簿数据内容汇总到一个表上
步骤:
打开一个Excel 空白文档 ——点击该表开发工具——visual basic——点击sheet1——点击右键插入模块——复制粘贴代码
运行弹出,选择多工作簿所在的文件夹,确定;
提示!“输入需要合并的工作表包含的关键词”,我这里就默认全部汇总,直接点确定;
提示!“输入标题的行数”;
第27节 将Word表格批量写入Excel
场景:word文档中的表格,批量写入到Excel中
步骤:
1.打开一个Excel 空白文档 ——点击该表开发工具——visual basic——点击sheet1——点击右键插入模块——复制粘贴代码
Sub GetWordTable()
Dim WdApp As Object
Dim objTable As Object
Dim objDoc As Object
Dim strPath As String
Dim shtEach As Worksheet
Dim shtSelect As Worksheet
Dim i As Long
Dim j As Long
Dim x As Long
Dim y As Long
Dim k As Long
Dim brr As Variant
Set WdApp = CreateObject("Word.Application")
With Application.FileDialog(msoFileDialogFilePicker)
.Filters.Add "Word文件", "*.doc*", 1
'只显示word文件
.AllowMultiSelect = False
'禁止多选文件
If .Show Then strPath = .SelectedItems(1) Else Exit Sub
End With
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set shtSelect = ActiveSheet
'当前表赋值变量shtSelect,方便代码运行完成后叶落归根回到开始的地方
For Each shtEach In Worksheets
'删除当前工作表以外的所有工作表
If shtEach.Name <> shtSelect.Name Then shtEach.Delete
Next
shtSelect.Name = "孙兴华"
'这句代码不是无聊,作用在于……你猜……
'……其实是避免下面的程序工作表名称重复
Set objDoc = WdApp.documents.Open(strPath)
'后台打开用户选定的word文档
For Each objTable In objDoc.tables
'遍历文档中的每个表格
k = k + 1
Worksheets.Add after:=Worksheets(Worksheets.Count)
'新建工作表
ActiveSheet.Name = k & "表"
x = objTable.Rows.Count
'table的行数
y =