ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] [字典嵌套][三维数组]对结构基本相同、同名工作表列项目不同的多个工作簿按表名汇总

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2010-7-27 14:28 | 显示全部楼层
本帖已被收录到知识树中,索引项:数组集合和字典
好贴,顶一下下

TA的精华主题

TA的得分主题

发表于 2010-11-29 08:51 | 显示全部楼层

赵老师,您好:为何小弟下载您的附件运行后出现的是内存溢出这种情况,谢谢!

赵老师,您好:为何小弟下载您的附件运行后出现的是内存溢出这种情况,能否请您在看一下(截屏如下),谢谢!

新建 BMP 图像.rar

89.62 KB, 下载次数: 25

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-11-29 08:59 | 显示全部楼层
原帖由 先行者 于 2010-11-29 08:51 发表
赵老师,您好:为何小弟下载您的附件运行后出现的是内存溢出这种情况,能否请您在看一下(截屏如下),谢谢!

从代码上看可能需要较大内存,此帖没有实际使用价值,不必研究它了

TA的精华主题

TA的得分主题

发表于 2010-11-29 10:50 | 显示全部楼层
我也十分感谢赵老师,在2009-3-18 23:38  我在论坛里求助,(已解决)VBA财金综合编程实例机会,亲生体验非现场预警内涵,求助高手编数据分发程序,http://club.excelhome.net/thread-410217-1-1.html是赵老师热心帮我解决的,最近我因要提取文件夹里多表固定单元格数据统计在一张表中汇总,也得到了圆满解决,这论坛有赵老师这样的高手,是我们这些初学和使用者的福气,诚祝赵老师全家一生安康幸福。

根据《EXCEL之家赵老师》提取数据VBA代码改写:

     (按固定格式方式提取代码)

Private Function GetValue(path As String, file As String, sheet As String, ref As String)  ’ 从未打开的Excel文件中检索数据

    Dim arg As String ’确保该文件存在

    If Right(path, 1) <> "\" Then path = path & "\"
    arg = "'" & path & "[" & file & "]" & sheet & "'!" & Range(ref).Range("A1").Address(, , xlR1C1)’'   执行XLM 宏

    GetValue = ExecuteExcel4Macro(arg)
End Function   


Sub 汇总()
    Dim p As String, f As String, s As String, a As String
    Dim arr, brr, myFile As String, n As Integer
    arr = Array("销售时间", "客户姓名", "性别", "年龄", "住址", "联系电话", "诊断", "诊费", "实付药费", "中药付数", "合计费用")
    brr = Array("B6", "B2", "C2", "E2", "B4", "B3", "B5", "E29", "E34", "E31")
    Columns("A:K").ClearContents
    Range("a1:k1").Value = arr
    myFile = Dir(ThisWorkbook.path & "\*.xls")
    n = 1
    Do While myFile <> ""
        If myFile <> ThisWorkbook.Name Then
            n = n + 1
            p = ThisWorkbook.path
            f = myFile
            s = "Sheet1"
            For i = 1 To 10
                a = brr(i - 1)
                Cells(n, i) = GetValue(p, f, s, a)
            Next i
        End If
        myFile = Dir
    Loop
End Sub

TA的精华主题

TA的得分主题

发表于 2010-12-19 22:12 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-2-18 21:09 | 显示全部楼层
zhaogang1960版主好!
荣幸找到这样的好帖子。
如果我的数据中的“客户名称”是在“B5”单元格,修改哪个代码?

TA的精华主题

TA的得分主题

发表于 2012-2-18 18:24 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
谢谢了,下来学习!

TA的精华主题

TA的得分主题

发表于 2011-1-27 14:43 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-1-27 18:13 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-1-27 19:53 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2025-1-12 10:47 , Processed in 0.025354 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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