楼主: lucia85524
2236 1

[问答] 求助:VBA写code下标越界问题 [推广有奖]

  • 0关注
  • 0粉丝

已卖:1份资源

大专生

36%

还不是VIP/贵宾

-

威望
0
论坛币
9944 个
通用积分
0.0002
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
573 点
帖子
41
精华
0
在线时间
54 小时
注册时间
2007-4-25
最后登录
2014-11-7

楼主
lucia85524 发表于 2013-7-10 07:36:13 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
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

二维码

扫码加我 拉你入群

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

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

关键词:code 下标越界 ODE COD VBA excel 文件夹 扩展名 False

沙发
TaskShare 发表于 2013-7-17 23:00:38
关于出错1,可能原因:Sheet(1)似乎应该是Sheets(1),不过没上机试过,不知是不是可以解决问题。

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-2-5 23:15