一、office宏的初始
office宏是微软公司为其OFFICE软件包设计的一个特殊功能,软件设计者为了让人们在使用软件进行工作时,避免一再地重复相同的动作而设计出来的一种工具,它利用简单的语法,我们可以通过宏来简单的对office表格进行处理。
二、灵感来源
其实我的主要灵感来源还是来源于我都老师,曾记得我的恩师在课上展示过它给我们合并的word文档展示,但那也仅仅是给我们展示了一下,大致提到了宏的相关概念;其次,我的社团要举办一次活动,活动是竞赛类的,面向全校同学,因此要统计参赛这上交的报名分组表,我作为一个计科班的学生,按照演员的说法也就是科班出身,怎能按常理出牌,打开百来个office表格进行复制粘贴;因此,我花了一个晚上的时间,学习到了office宏,通过宏来合并表格,同时给大家分享分享!
三、具体合并步骤
1)把你需要合并的表格放在一个新建的文件夹下,我们做个简单的例子:
2)在新建的文件夹中新建一个excel表格,作为你合并后的表,假设命名为:合并.xls(可任意命名),如图所示:
3)通过office打开新建的合并.xls表,可以看到这是一个空表,是用来保存合并后的数据,鼠标右键点击excel左下方的Sheet1-->选择查看代码,也就是进入了office的宏。进入宏的步骤如下:
(1)鼠标右键点击excel左下方的Sheet1:
(2)点击查看代码,进入office宏:
4)进入宏之后,把下面这段合并表格的代码复制到宏中,粘贴运行就可以了,就能合并你想要的表格了,代码和具体步骤如下:
(1)把这段代码复制到office宏中:
Sub 合并当前目录下所有工作簿的全部工作表()
Dim MyPath, MyName, AWbName
Dim Wb As Workbook, WbN As String
Dim G As Long
Dim Num As Long
Dim BOX As String
Application.ScreenUpdating = False
MyPath = ActiveWorkbook.Path
MyName = Dir(MyPath & "\" & "*.xls")
AWbName = ActiveWorkbook.Name
Num = 0
Do While MyName <> ""
If MyName <> AWbName Then
Set Wb = Workbooks.Open(MyPath & "\" & MyName)
Num = Num + 1
With Workbooks(1).ActiveSheet
.Cells(.Range("B65536").End(xlUp).Row + 2, 1) = Left(MyName, Len(MyName) - 4)
For G = 1 To Sheets.Count
Wb.Sheets(G).UsedRange.Copy .Cells(.Range("B65536").End(xlUp).Row + 1, 1)
Next
WbN = WbN & Chr(13) & Wb.Name
Wb.Close False
End With
End If
MyName = Dir
Loop
Range("B1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
(2)把代码粘贴到office宏:
(3)点击运行:
运行之后就已经合并好了,但是需要合并的表格的格式必须一致,下图是合并成果,还得自己回去慢慢实现,之后再进行排版就可以了!
(1)三个表的内容分别为:
(2)合并后的表为:
今天的分享到此结束,需要对大家有所帮助,也希望我们能够一起学习、一起分享,分享学习是一件非常快乐的事情,不信你就试试啊!