ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[原创] 以《仓库进销存管理系统》来学习VBA知识

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2010-7-19 16:50 | 显示全部楼层
本帖已被收录到知识树中,索引项:模板和开源系统
本帖最后由 ExcelHome 于 2012-10-6 16:09 编辑

有想法。不过还不是很好的实用。数据大了怎么办啊?谢谢

TA的精华主题

TA的得分主题

发表于 2010-7-19 16:50 | 显示全部楼层
谢谢楼主的分享,大家一起努力...

TA的精华主题

TA的得分主题

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

TA的精华主题

TA的得分主题

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

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-20 07:41 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
原帖由 EH2003 于 2010-7-18 23:29 发表
一般仓库管理具有连续几年使用,当数据大时打开excel表时运行慢,作为存储数据建议还是用数据库。

这个我何尝不知呢!我计划是每个月做一个工作簿,最后数据查询时进行整合。我计划是再添加一个功能就是自动结转,现在遇上了技术瓶颈,在研究中,希望大家多提宝贵的意见!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-20 07:43 | 显示全部楼层
原帖由 Fangfangyy 于 2010-7-19 13:58 发表
楼主好厉害,跟你好好学习!
楼主删除了窗体3吧,查询时的高级查询报错呢!

对,删除了,正在改进中!敬请期待!

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-20 08:10 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
原帖由 jygzcj 于 2010-7-19 16:50 发表
有想法。不过还不是很好的实用。数据大了怎么办啊?谢谢

大家学VBA这么久,最大的感受是什么呢?我的感受是:第一、移植性太差,换句话说就是通用性不好,只有VBA基础的人,才可以在实际工作中把代码变通以满足自己工作中的需要!
第二,速度问题,当数据一定大的时候,速度问题就会明显的变慢,在速度方面我在不断的探索,这样才能提高代码的运行速度。包括一些教程中说过的少激活,少循环,多用with,冻结屏幕等等。在说到速度问题我想举个工作中的例子:有很多工作表,其格式相同,一道工序一个工作表,最后以某种产品来查询所有工序的完成情况。我最初用到的是循环,这里有双重循环,第一是中同一个工作表中循环,找完了一个工作表要找下个工作表,即二维循环。这样一来速度问题就成了最大问题,后来我不断的改进,用RANGE中的find的方法来查找复制,速度有所改进,但是双重循环还是少不了。再后来,我用筛选的方法对每个工作表筛选复制,这样就变成了一维循环了,速度又有了提升。后来我学习了ADO,用SQL来查询就更快了,哈哈,,,,到现在为止,一般都有这个方法了。此刻要攻克的是API函数,一般用上API函数可以大大的提高代码的运行速度。

TA的精华主题

TA的得分主题

 楼主| 发表于 2010-7-20 08:55 | 显示全部楼层
这个查询窗口潜在的风险是:当采购类别中填的不是现金或挂账,那么在供应商的下拉列表中就不会出现相应的列表项。为了解决这个问题,我们必须对入库单中的采购类别进行有效性限制。代码如下:
  Private Sub Worksheet_SelectionChange(ByVal Target As Range)
     If Target.Column = 8 And Target.Count = 1 And Target.Row > 1 Then
          With Target.Validation
              .Delete
             .Add Type:=xlValidateList, _
                  AlertStyle:=xlValidAlertStop, _
                  Operator:=xlBetween, _
                  Formula1:="现金,挂账"
         End With
      End If
End Sub
这样一来就可以确保整个查询窗口的正确性。

TA的精华主题

TA的得分主题

发表于 2010-7-20 09:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
能加入出库,入库单打印就完美了。。

不会VBA,学习中。。。

TA的精华主题

TA的得分主题

发表于 2010-7-20 14:51 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

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

GMT+8, 2024-4-24 21:04 , Processed in 0.041762 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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