EXCEL VBA合并当前目录下所有工作簿的全部工作表,提示无效或不合格的引用,求指导错误,谢谢大神。

TERRY-Yuan 2019-07-10 09:50:34
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
myname = ActiveWorkbook.Path
myname = Dir(mypath & "\""*.xls")
awbname = ActiveWorkbook.Name
num = 0
Do While myname <> ""
If myname <> awbname Then
Set wb = Workbook.Open(mypath & "\" & myname)
num = num + 1
With Workbooks(1).ActiveSheet.Cells(.Range("A65536").End(xlUp).Row + 1, 1) = Left(myname.Len(myname) - 4)
For g = 1 To wb.Sheets.Count
k = k + 1
If k = 1 Then
wb.Sheets(g).used Range.Copy.Cells(.Range("B" & Row.Count).End(xlUp).Row + 1, 1)
Else
wb.Sheets(g).used Range.Offset(1, 0).Copy.Cells(.Range("B" & Rows.Count).End(xlUp).Row + 1, 1)
End If
Next
wbn = wbn & Chr(13) & wbname
wb.Close False
End With
End If
myname = Dir
Loop
Range("A1").Select
Application.ScreenUpdating = True
MsgBox "共合并了" & num & "个工作薄下的全部工作表。如下:" & Chr(13) & wbn, vbInformation, "提示"
End Sub
...全文
307 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

2,462

社区成员

发帖
与我相关
我的任务
社区描述
VBA(Visual Basic for Applications)是Visual Basic的一种宏语言,是在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。
社区管理员
  • VBA
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧