取消 Else Workbooks.Open Filename:=MyFileName Num = ActiveWorkbook.Sheets.Count MyName = ActiveWorkbook.Name Set DataSource = Application.InputBox(prom
操作步骤:
1、原始数据所在工作簿包含多个格式相同的工作表,只不过每个工作表内容不同,比如说不同人名的工作表数据或者不同部门填写的数据 。
2、在原始数据同目录下新建一个工作簿,建立两个工作表,名称分别为“首页”和“合并汇总表” 。
3、按Alt+F11进入VBA代码编辑和调试界面 。
4、根据下图提示,插入一个模块 。
5、将下述代码粘贴到模块空白处:
复制代码
代码如下:
Sub CombineSheetsCells()
Dim wsNewWorksheet As Worksheet
Dim cel As Range
Dim DataSource, RowTitle, ColumnTitle, SourceDataRows, SourceDataColumns As Variant
Dim TitleRow, TitleColumn As Range
Dim Num As Integer
Dim DataRows As Long
DataRows = 1
【取消 Else Workbooks.Open Filename:=MyFileName Num = ActiveWorkbook.Sheets.Count MyName = ActiveWorkbook.Name Set DataSource = Application.InputBox(prom】Dim TitleArr()
Dim Choice
Dim MyName$, MyFileName$, ActiveSheetName$, AddressAll$, AddressRow$, AddressColumn$, FileDir$, DataSheet$, myDelimiter$
Dim n, i
n = 1
i = 1
Application.DisplayAlerts = False
Worksheets(“合并汇总表”).Delete
Set wsNewWorksheet = Worksheets.Add(, after:=Worksheets(Worksheets.Count))
wsNewWorksheet.Name = “合并汇总表”
MyFileName = Application.GetOpenFilename(“Excel工作薄 (*.xls*),*.xls*”)
If MyFileName = “False” Then
MsgBox “没有选择文件!请重新选择一个被合并文件!”, vbInformation, “取消”
Else
Workbooks.Open Filename:=MyFileName
Num = ActiveWorkbook.Sheets.Count
MyName = ActiveWorkbook.Name
Set DataSource = Application.InputBox(prompt:=”请选择要合并的数据区域:”, Type:=8)
AddressAll = DataSource.Address
ActiveWorkbook.ActiveSheet.Range(AddressAll).Select
SourceDataRows = Selection.Rows.Count
SourceDataColumns = Selection.Columns.Count
Application.ScreenUpdating = False
Application.EnableEvents = False
For i = 1 To Num
ActiveWorkbook.Sheets(i).Activate
ActiveWorkbook.Sheets(i).Range(AddressAll).Select
Selection.Copy
ActiveSheetName = ActiveWorkbook.ActiveSheet.Name
Workbooks(ThisWorkbook.Name).Activate
ActiveWorkbook.Sheets(“合并汇总表”).Select
ActiveWorkbook.Sheets(“合并汇总表”).Range(“A” & DataRows).Value = https://www.taobao49.com/269215/ActiveSheetName
ActiveWorkbook.Sheets(“合并汇总表”).Range(Cells(DataRows, 2), Cells(DataRows, 2)).Select
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
DataRows = DataRows + SourceDataRows
Workbooks(MyName).Activate
Next i
Application.ScreenUpdating = True
Application.EnableEvents = True
End If
Workbooks(MyName).Close
End Sub
6、在“首页”工作表中按下图示范插入一个窗体控件并指定宏为插入的代码名称 。
推荐阅读
- “学生去了我就不去了” 南海菩萨算卦抽签
- Word页眉页脚横线画法: 如果是要设置页面页脚的横线
- 今天三顿给你推荐的是用Image Triangulator这个工具来制作哦
- 讲解下如何启用或取消关闭修订模式的方法
- 遗赠与遗嘱的区别
- cdr怎么正片叠底,cdr怎么把黑底转换白底图
- 石油怎么来的
- 微信小号怎么申请
- 电影分类 电影怎么分类