专栏名称: Idata
经管学术自媒体,我们关注统计软件和数据分析。本着简单的初心,陪伴着您百尺竿头,更进一步。
目录
相关文章推荐
数据中心运维管理  ·  6月1日起实施!我国首部绿色数据中心评价国标 ... ·  2 天前  
数据中心运维管理  ·  应急预案和应急演练到底怎么做? ·  昨天  
秋叶PPT  ·  醒醒吧!别信DeepSeek一键生成PPT这 ... ·  2 天前  
51好读  ›  专栏  ›  Idata

批量合并多张excel表,VBA帮助解决大麻烦

Idata  · 公众号  ·  · 2017-09-16 22:00

正文

请到「今天看啥」查看全文



最初,我想在程序里加入一句:tostring _all,replace,试图通过把所有的变量变成字符型,来避免格式不一样带来的合并困难。但实际操作中,这个方法常常并不奏效。这个时候,我想到了VBA,希望能够在excel里把合并的工作全部完成,然后再导入Stata进行各种各样的处理。


步骤是这样的,首先要在excel里启用宏,然后新建一个excel的表格,使用快捷键ALT+F11进入VBA的工作环境,使用如下的代码合并目录下面的全部excel文件:


Option Explicit

Sub MergeFile()

Application.ScreenUpdating = False

Dim MyPath, MyName, AWbName

Dim Wb As Workbook, WbN As String

Dim G As Long

Dim Num As Long

Dim BOX As String


MyPath = ActiveWorkbook.Path

MyName = Dir(MyPath & "\" & "*.xlsx")

AWbName = ActiveWorkbook.Name

Num = 0

Dim rowCnt As Long

rowCnt = 1

Do While MyName <> ""

If MyName <> AWbName Then

Set Wb = Workbooks.Open(MyPath & "\" & MyName)







请到「今天看啥」查看全文