全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 Excel
2237 1
2013-07-10
sample.rar
大小:(4.75 KB)

 马上下载

本附件包括:

  • TEST1.xls
  • TEST2.xls

大家好,我用VBA试图把多个文件合并到一个excel里,并且sheet的名称是要合并的文件的名称,可是怎么 也不行

提示错误1: 下标越界
提示错误2:所要打开文件格式与文件扩展名不符,请检查是否损坏(因为是SAS输出,所以实际是html格式,但是文件时.xls的)

Code如下
Sub 合并文件夹中所有文件()
  Application.ScreenUpdating = False
    Dim spath As String
    spath = InputBox("请输入目录", "合并目录下的文件")
    If spath = "" Then Exit Sub
    mergesheet (spath)
  Application.ScreenUpdating = True
End Sub
Sub mergesheet(ByVal spath As String)
    Dim fs, fd, fl As Object
    Dim xlbook As Workbook
    Dim xlsheet As Worksheet
    Dim i_cnt As Integer
    i_cnt = 1
    Set fs = CreateObject("scripting.filesystemobject")
    Set fd = fs.getfolder(spath)
    For Each fl In fd.Files
    Set xlbook = Application.Workbooks.Open(spath + "\" + fl.Name)
    xlbook.Worksheet.Copy Before:=Workbooks("Book1").Sheet(1)
    Cells.Select
    Range("B2").Activate
    Cells.EntireColumn.AutoFit
    xlbook.Activate
    xlbook.Close
    Next
End Sub

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-7-17 23:00:38
关于出错1,可能原因:Sheet(1)似乎应该是Sheets(1),不过没上机试过,不知是不是可以解决问题。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群