找回密码
 立即注册
搜索

我想多表合并成一个表!急啊!

2
回复
434
查看
[复制链接]

13

主题

203

帖子

42

幻币

一流武者

Rank: 3Rank: 3

积分
268
QQ
2016-4-12 13:36:11 显示全部楼层 |阅读模式
现在有多个工作表,表头都是一样的,我想把它们合并在一个表里。在网上找到了一个代码http://jingyan.baidu.com/article/f0062228d16ba9fbd3f0c82b.html也按照要求把所有的工作表放在了一个文件夹里,并新建了工作表,输入了代码
但是没有任何反应。代码如下:
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

请高人看下,怎么调整?

急!
PPT学习论坛
回复

使用道具 举报

16

主题

231

帖子

38

幻币

一流武者

Rank: 3Rank: 3

积分
289
QQ
2016-4-12 14:58:36 显示全部楼层
你需要合并的工作薄的后缀为xlsx
但是你的这句代码中的文件后缀却为xls
MyName = Dir(MyPath & "" & "*.xls")
所以把这句改为MyName = Dir(MyPath & "" & "*.xlsx")试试看
PPT学习论坛
回复 支持 反对

使用道具 举报

14

主题

205

帖子

44

幻币

一流武者

Rank: 3Rank: 3

积分
267
QQ
2016-4-12 16:45:53 显示全部楼层
试了,不管用
昨天也奇怪了,换了台电脑,不管是xls还是xlsx都可以合并了 今天一早一看又不行了....奇怪
PPT学习论坛
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册