ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

VBA常用技巧代码解析

    [复制链接]

TA的精华主题

TA的得分主题

发表于 2009-7-23 23:46 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖已被收录到知识树中,索引项:开发帮助和教程
我好象出道晚了点啊  呵呵  今天才看见如此牛人   真是让我佩服  明天晚上接着下载    谢谢楼主了

TA的精华主题

TA的得分主题

发表于 2009-7-24 05:34 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-7-24 08:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

回复 1014楼 xushaoming68 的帖子

无法下载, 看不到

TA的精华主题

TA的得分主题

发表于 2009-7-24 12:54 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
非常楼主的无私奉献,下了慢慢学习

TA的精华主题

TA的得分主题

发表于 2009-7-24 13:43 | 显示全部楼层
我下载了没有办法解压!晕死了

TA的精华主题

TA的得分主题

发表于 2009-7-24 14:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
对我这种新人,最实用
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2009-7-24 15:13 | 显示全部楼层

求教版主,关于用VBA引用另一个表的数据的问题。

我公司有个仓库台帐,因为业务系统很垃圾,所以上面要我做一个仓库台帐,【已上传附件表】,其中“z” 代表总的商品资料表,大概15000行的数据,“zb”为仓库商品出入明细汇总表,将近5000条数据行,并且以后还会陆续增加。“0107C”为本月1至7号的出库登记表,“0107R”为本月1至7号入库登记表,其他“0814C”、“0814R”等等同理。除“Z”表的资料是从业务系统导出的数据,其他的表都是使用SUMIF,VLOOKUP等来引用“z”表的“商品名称、规格、单位、供应商”。

现在的问题是:面对越来越大的数据,【刚做这个工作簿时,“zb”表的数据行才2000多】,单靠引用或统计的函数是行不通的,因为要引用或要统计的单元格都有一个公式,如果在某一个单元格改动一下的话,excel都需要很长的时间来计算。

想写个宏来实现跨表引用的功能,最重要是替代SUMIF,VLOOKUP这些函数。(总之就是在这个数据量如此大的表格中单元格不应出现公式,公式计算实在太慢了,用自动填充都拉到手软头晕),应该如何入手呢?请楼主不吝赐教!

顺便指导一下我胡乱写的那个引用编码的宏,实在见笑了。
Sub bianma()

Dim z_Index As Integer
Dim zb_Index As Integer

Dim z_LastRow As Integer
Dim zb_LastRow As Integer

Dim z_tiaoma As Integer
Dim zb_tiaoma As Integer

Dim z_bianma As Integer
Dim zb_bianma As Integer


zb_LastRow = ActiveSheet.[a65536].End(xlUp).Row
For zb_Index = 2 To zb_LastRow

z_LastRow = ActiveSheet.[a65536].End(xlUp).Row
For z_Index = 2 To z_LastRow


z_tiaoma = Worksheets("z").Cells(z_Index, 1).Value
zb_tiaoma = Worksheets("zb").Cells(zb_Index, 1).Value

z_bianma = Worksheets("z").Cells(iIndex, 2).Value
zb_bianma = Worksheets("zb").Cells(iIndex, 2).Value

If (z_tianma = zb_tiaoma) Then

zb_bianma = z_bianma


    End If

Debug.Print CStr(iIndex)
Next
Next
End Sub




由于附件限制不大于244K,所以这个数据表我删除大部分的数据行了。

[ 本帖最后由 080223 于 2009-7-24 15:40 编辑 ]

TA的精华主题

TA的得分主题

发表于 2009-7-25 13:42 | 显示全部楼层

回复 1272楼 yuanzhuping 的帖子

真是太感谢版主的无私奉献,令人敬佩!我全部下载收藏了。谢谢啊!

TA的精华主题

TA的得分主题

发表于 2009-7-25 14:28 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2009-7-25 14:31 | 显示全部楼层
原帖由 080223 于 2009-7-24 15:13 发表
我公司有个仓库台帐,因为业务系统很垃圾,所以上面要我做一个仓库台帐,【已上传附件表】,其中“z” 代表总的商品资料表,大概15000行的数据,“zb”为仓库商品出入明细汇总表,将近5000条数据行,并且以后还会陆续 ...

楼主你帮帮他吧,我也有类似问题,慢就一个字!我可是 4核的CPU, 2.8G主频,  4G内存,速度都要跳楼,何况配置更低的电脑!

到底怎样提高excel的运算速度呢?
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-5-12 21:19 , Processed in 0.045460 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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