Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
123
返回列表 发新帖
楼主: gaiety1974

[已解决]请老师指导一下, 运行错误’9‘,下标越界是啥意思,谢谢

[复制链接]
发表于 2022-6-8 15:30 | 显示全部楼层
gaiety1974 发表于 2022-6-8 15:17
老师谢谢指导,可以了。
另外可以的话帮忙再问下,如果我的数据这个文件在目录下面有几个,文件名后缀不 ...

上传附件
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2022-6-8 15:47 | 显示全部楼层

Test.zip (37.88 KB, 下载次数: 3)
回复

使用道具 举报

发表于 2022-6-8 16:50 | 显示全部楼层
Sub 导入数据()
  Dim MyFile As Object
  Dim Arr, ArrName()
  Dim Rc%, K%
  Dim FileName$, Str$
  Dim Wb As Workbook
  Set MyFile = CreateObject("scripting.filesystemobject")
  FileName = Dir(ThisWorkbook.Path & "\*.xlsx", 16)
  Do While FileName <> ""
      K = K + 1
      ReDim Preserve ArrName(1 To K)
      ArrName(K) = ThisWorkbook.Path & "\" & FileName
      FileName = Dir
  Loop
  With ThisWorkbook.Sheets("Sheet1")
      .Range("A1").CurrentRegion = ""
      .Range("A1:C1") = Array("类别", "值", "姓名")
  End With
  For K = 1 To UBound(ArrName)
    Str = MyFile.getbasename(ArrName(K))
    Set Wb = Workbooks.Open(ArrName(K))
    With Wb
      .Sheets(1).Range("C1") = "姓名"
      Rc = .Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
      .Sheets(1).Range("C2:C" & Rc) = VBA.Right(Str, VBA.Len(Str) - 2)
      Arr = .Sheets(1).Range("A1").CurrentRegion.Offset(1)
      .Close False
    End With
    With ThisWorkbook.Sheets("Sheet1")
      .Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(Arr), 3) = Arr
    End With
  Next K
  Set MyFile = Nothing
  Set Wb = Nothing
End Sub

Test.rar

37.32 KB, 下载次数: 7

回复

使用道具 举报

发表于 2022-6-9 12:21 | 显示全部楼层
学习了。。
回复

使用道具 举报

 楼主| 发表于 2022-6-10 09:44 | 显示全部楼层
hasyh2008 发表于 2022-6-8 16:50
Sub 导入数据()
  Dim MyFile As Object
  Dim Arr, ArrName()

谢谢高手老师,学习学习,谢谢啦
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-8 02:57 , Processed in 0.263449 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表