Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6247|回复: 35

[已解决]求优化生产销售数据表

[复制链接]
发表于 2012-7-23 16:35 | 显示全部楼层 |阅读模式
本帖最后由 爱疯 于 2013-4-21 11:52 编辑

12.jpg

新手...
实在是不知道咋办了。。。

目的:

月份我设置了有效性,切换月份就可在录入表(数据录入)录入、查看、修改数据。切换月份或者点击保存,数据将会存储在存储表(原始数据存储表)中。(运行时存储表是隐藏的!)
只有一个表来录入、修改数据,这样显得简洁。


想实现:

1、对录入表数据编辑后,如果不点击保存,直接切换月份的话,则判断切换前月份(BYue)数据是否和存储表中一致,不一致则提示是否保存。 是,则保存至对应月份,随后录入表切换到所切换月份(AYue)的数据。
2、要点击保存,则将数据保存至存储表对应的月份。

需注意的地方:
1、3、6、9、12月份的表和其他表不一样!!!多两列数据!!!
2、每月的产品都是一样的,所以存储表中每月的表格行数是一样的!!!

我的思路:
1、获取切换前月份用selectionchange事件,获取切换后月份用change事件。
2、用比较函数比较录入表中数据和存储表中对应月份的数据,不一致则保存。

我的想法是:
存储表中每个表的位置是固定的。将每个表格区域命名,例如:Yue1,Yue2……,保存时根据Ayue和Byue的值来找对应的区域。
存储数据时,将录入表整个copy并粘贴到存储表对应的月份处覆盖。调用数据时同样将存储表对应月份copy粘贴到录入表并覆盖。

这样作为了规避3,6,9,12多列的麻烦,不知这样好不好?


终于做出来了。但总觉得繁琐,求优化,求别的方法。
不知道这样存储数据安全不?

















最佳答案
2012-7-24 15:45
本帖最后由 mxg825 于 2012-7-24 16:30 编辑
枫的大拿加 发表于 2012-7-24 14:24
版主,我加了代码,您给看看?


花了 40分钟。。。。写好了代码

数据录入存储.rar

14.39 KB, 下载次数: 16

数据录入存储(已完成但没优化).rar

21.88 KB, 下载次数: 15

求优化,或者更改方法

数据录入存储(MXG825改样式后添加代码).rar

20.62 KB, 下载次数: 12

版主,我加了代码,您给看看有没有改的地方?

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2012-7-23 20:02 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2012-7-24 08:39 | 显示全部楼层
回复

使用道具 举报

发表于 2012-7-24 10:16 | 显示全部楼层
你那个原始数据存储表的样式这什么要设置成这样?可以设置成简单的数据库样式吗?
回复

使用道具 举报

 楼主| 发表于 2012-7-24 10:58 | 显示全部楼层
可以的啊,只是为了存储数据而已。

不过就是希望能有个按钮,在需要的时候,导出各月的数据,不制作成数据库样式方便导出不?
回复

使用道具 举报

 楼主| 发表于 2012-7-24 10:58 | 显示全部楼层
9lee 发表于 2012-7-24 10:16
你那个原始数据存储表的样式这什么要设置成这样?可以设置成简单的数据库样式吗?

可以的啊,只是为了存储数据而已。

不过就是希望能有个按钮,在需要的时候,导出各月的数据,不制作成数据库样式方便导出不?

回复

使用道具 举报

 楼主| 发表于 2012-7-24 11:04 | 显示全部楼层
9lee 发表于 2012-7-24 10:16
你那个原始数据存储表的样式这什么要设置成这样?可以设置成简单的数据库样式吗?

我的想法是:
存储表中每个表的位置是固定的。将每个表格区域命名,例如:Yue1,Yue2……,保存时根据Ayue和Byue的值来找对应的区域。
存储数据时,将录入表整个copy并粘贴到存储表对应的月份处覆盖。调用数据时同样将存储表对应月份copy粘贴到录入表并覆盖。


这才设置成那样的,方便拷贝区域,复制,粘贴

数据量不是很大

因为新手,所以就只想到这方法了
回复

使用道具 举报

发表于 2012-7-24 11:31 | 显示全部楼层
3、6、9、12月份的表和其他表不一样!!!多两列数据!!!

改一致,其他月份 在 【原始数据存储】 都多插入两列!

[数据录入] 也多插入两列!  然后用 IF 月份 MOD  3=0 THEN  是否 3 6 9 12  决定是否显示 隐藏的2列!
回复

使用道具 举报

发表于 2012-7-24 11:42 | 显示全部楼层
经过以上设置后,一般各月份的 首列=8*(月份)-7
1月 1-8列
2月 9-16列
3月 17-24列
4月  25-32列
以下类同。。。。。。。。

套用上面的公式就得到每个月份的首行号 8*【3月】-7=17列号
回复

使用道具 举报

发表于 2012-7-24 11:49 | 显示全部楼层
建议再加一列 分隔列!  这样会好了!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 00:45 , Processed in 0.379733 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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