ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1435|回复: 10

[已解决] 从同路径提取N个xls,分别存于对应的数组里,谢谢gwjkkkkk和Yalishanda30老师!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-12-3 19:46 | 显示全部楼层 |阅读模式
本帖最后由 lhj323323 于 2022-12-3 21:47 编辑

老师:

上传的附件中,只有一组半成品的语句,实在不晓得该怎么搞。
老师如有空,请帮忙看看,先谢谢了
求助.rar (22.03 KB, 下载次数: 8)

快照12.png


TA的精华主题

TA的得分主题

发表于 2022-12-3 20:39 | 显示全部楼层
你这个感觉应该字典嵌套一下数组就可以了,请楼主参考 。。。

求助.rar

19.98 KB, 下载次数: 9

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2022-12-3 20:42 | 显示全部楼层
后续有什么操作,需求不明确

TA的精华主题

TA的得分主题

发表于 2022-12-3 20:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
这好像不是什么困难的问题吧
捕获.JPG

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-3 20:53 | 显示全部楼层
gwjkkkkk 发表于 2022-12-3 20:39
你这个感觉应该字典嵌套一下数组就可以了,请楼主参考 。。。

谢谢老师回复!

比如如下:
  1. Sub TEST()
  2.     Dim strFileName$, strPath$, wkb As Workbook, dic As Object, vKey
  3.     Application.ScreenUpdating = False
  4.     Set dic = CreateObject("Scripting.Dictionary")
  5.     strPath = ThisWorkbook.Path & ""
  6.     strFileName = Dir(strPath & "*.xls*")
  7.     Do Until strFileName = ""
  8.         If strFileName <> ThisWorkbook.Name Then
  9.            Set wkb = GetObject(strPath & strFileName)
  10.            arr = wkb.Sheets(1).[A1].CurrentRegion
  11.            dic(FName(strFileName)) = arr
  12.            wkb.Close False
  13.         End If
  14.         strFileName = Dir
  15.     Loop
  16.     For Each vKey In dic.keys
  17.        'dic (vKey) '就是数组,根据需要进行处理
  18.     Next
  19.     Set wkb = Nothing
  20.     Set dic = Nothing
  21.    
  22. Sheet2.Cells(1, 1).Resize(UBound(dic(花花)), UBound(dic(花花), 2)) = dic(花花)
  23. Sheet2.Cells(1, 9).Resize(UBound(dic(三国)), UBound(dic(三国), 2)) = dic(三国)
  24.     Application.ScreenUpdating = True
  25. End Sub
  26. Function FName(FileName As Variant) As String
  27.    Application.Volatile
  28.    FName = Left(FileName, InStrRev(FileName, ".") - 1)
  29. End Function
复制代码
后续,怎么用啊?

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-3 20:54 | 显示全部楼层
582766 发表于 2022-12-3 20:42
后续有什么操作,需求不明确

后续,比如,我要
把arr进行提重处理
把brr进行索引取值
把crr进行汇总


TA的精华主题

TA的得分主题

发表于 2022-12-3 21:06 | 显示全部楼层
lhj323323 发表于 2022-12-3 20:53
谢谢老师回复!

比如如下:

1.比如你要处理 “花花” 的数组 ,就引用 dic("花花"),这就是数组,把dic("花花")作为数组来使用,看你上面的代码应该理解的。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-3 21:17 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Yalishanda30 发表于 2022-12-3 20:44
这好像不是什么困难的问题吧

谢谢老师,测试成功了!

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-12-3 21:23 | 显示全部楼层
本帖最后由 lhj323323 于 2022-12-3 21:32 编辑
gwjkkkkk 发表于 2022-12-3 21:06
1.比如你要处理 “花花” 的数组 ,就引用 dic("花花"),这就是数组,把dic("花花")作为数组来使用,看你 ...

谢谢老师!
问题解决了!
'Set dic = Nothing取消这一句





TA的精华主题

TA的得分主题

发表于 2022-12-3 21:50 | 显示全部楼层
lhj323323 发表于 2022-12-3 21:23
谢谢老师!
问题解决了!
'Set dic = Nothing取消这一句

这个在字典使用前,不能set,在使用完成后set一下,可减少内存使用。。。一般放在最后。。。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-20 15:35 , Processed in 0.051818 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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