+ -
当前位置:首页 → 问答吧 → 用函数做运算excel太慢,哪位VBA厉害帮忙写个高级筛选+录制宏

用函数做运算excel太慢,哪位VBA厉害帮忙写个高级筛选+录制宏

时间:2011-08-04

来源:互联网

用函数做运算excel太慢,哪位VBA厉害帮忙写个高级筛选+录制宏

附件

附件1.rar(20.66 KB)

2011-8-4 08:22, 下载次数: 25

作者: libyailyw   发布时间: 2011-08-04

Sub Macro2()
'
' Macro2 Macro
' 宏由 微软用户 录制,时间: 2011-8-4
'

'
    Range("Q4:Q106").Select
    ActiveWindow.SmallScroll Down:=-129
    Range("Q4:Q106").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
        "S4"), Unique:=True
End Sub

作者: ctp_119   发布时间: 2011-08-04

详细说明要求,可以全部用vba完成,不懂公式。

作者: dsmch   发布时间: 2011-08-04

By.rar (23.94 KB)
By.rar (23.94 KB)
下载次数: 16
2011-8-4 09:15

作者: 白云2011   发布时间: 2011-08-04

看的我有点累。基本看懂需求。就是普通透视表的需求。做透视表吧。打代码你自己会改不?

[ 本帖最后由 panan123_0 于 2011-8-4 09:29 编辑 ]

作者: panan123_0   发布时间: 2011-08-04

引用:
原帖由 panan123_0 于 2011-8-4 09:18 发表
看的我有点累。基本看懂需求。就是普通透视表的需求。做透视表吧。打代码你自己会改不?
但是数据量太大了,有几万个,最好能做一个上次那样的高级筛选+录制宏

因为我还有很多数据判断要跟这个表格运算后的结果做公式连接,如果做透视表就不太好写公式了。

[ 本帖最后由 libyailyw 于 2011-8-4 09:39 编辑 ]

作者: libyailyw   发布时间: 2011-08-04

引用:
原帖由 ctp_119 于 2011-8-4 08:50 发表
Sub Macro2()
'
' Macro2 Macro
' 宏由 微软用户 录制,时间: 2011-8-4
'

'
    Range("Q4:Q106").Select
    ActiveWindow.SmallScroll Down:=-129
    Range("Q4:Q106").AdvancedFilter Action:=xlFilte ...
大侠,能解释下吗?如果我S列到AB列都要做筛选的话,要怎么改代码呢?

作者: libyailyw   发布时间: 2011-08-04

引用:
原帖由 libyailyw 于 2011-8-4 09:34 发表


但是数据量太大了,有几万个,最好能做一个上次那样的高级筛选+录制宏

因为我还有很多数据判断要跟这个表格运算后的结果做公式连接,如果做透视表就不太好写公式了。
透视表的数字是可以用公式连接引用的 还可以动态呢。只是很少有人用。

作者: panan123_0   发布时间: 2011-08-04

0秒.rar (20.34 KB)
0秒.rar (20.34 KB)
下载次数: 11
2011-8-4 09:53

作者: 白云2011   发布时间: 2011-08-04

引用:
原帖由 dsmch 于 2011-8-4 08:50 发表
详细说明要求,可以全部用vba完成,不懂公式。
我要根据B-M列的数据来做统计,需要如下步骤:
1.将D列的工单号转化成Q列的这种格式
2.根据Q列的工单号,选取不重复项保存在R列(如果有2个以上的重复工单号,则只保留1个)
3.在F列中选取与S3相同项
4.在Q列选取与R4相同项
5.在K列找到与机长姓名相对应的行
6.在H列找到前三项所对应的值并加总,保存在S4.如果无机长姓名的工序,则将前两项选取的所有姓名所对应的值加总。
备注:3-6项需要可以横向、纵向扩展,也就是说从U列往后都可以做这样的筛选

这样VBA可以实现吗?

附件

附件1.rar(20.66 KB)

2011-8-4 09:55, 下载次数: 5

作者: libyailyw   发布时间: 2011-08-04

引用:
原帖由 白云2011 于 2011-8-4 09:53 发表
968234
我是小白,你写的代码有点看不懂,为了方便以后可以修改,能否帮忙解释下呢?
如果T-AB列我也想做这样的筛选,要怎么改呢?

作者: libyailyw   发布时间: 2011-08-04

你模拟个完整的结果。做出正确的表样来 不要做错。你这个能实现的。

作者: panan123_0   发布时间: 2011-08-04

好,我现在去做,就是因为用函数做太慢了,要十几分钟才能显示出来,所以我郁闷...

作者: libyailyw   发布时间: 2011-08-04

T-AB列没有内容不知道你想怎么写
代码迟点给你注释。下了。写好上传有人帮你干的。

作者: 白云2011   发布时间: 2011-08-04

看下我猜的结果数据是这样吗,你看看对不对。对的话我下手写代码。工单号是可以弄成你要求的 我暂时不弄

附件

附件1.rar(29 KB)

2011-8-4 10:10, 下载次数: 2

作者: panan123_0   发布时间: 2011-08-04

引用:
原帖由 panan123_0 于 2011-8-4 10:10 发表
看下我猜的结果数据是这样吗,你看看对不对。对的话我下手写代码。工单号是可以弄成你要求的 我暂时不弄
因为我这个是要做产量统计,有的工序是几个人合干的,比如说一个工单5个人一起做,总共做出来5000份,在原始记录表里统计的是每个人都是5000,所以一个工单只要统计几个机长的产量就可以了(见右边的工序和机长姓名表)。如果没有写机长的工序,那就将所有人的产量加起来就可以了。

作者: libyailyw   发布时间: 2011-08-04

引用:
原帖由 libyailyw 于 2011-8-4 10:19 发表


因为我这个是要做产量统计,有的工序是几个人合干的,比如说一个工单5个人一起做,总共做出来5000份,在原始记录表里统计的是每个人都是5000,所以一个工单只要统计几个机长的产量就可以了(见右边的工序和机长姓 ...
不太明白 不知道要啥结果。时间花在猜题目上了。闪

作者: panan123_0   发布时间: 2011-08-04

我现在在做举例说明,函数太多,电脑卡死了...稍等...

作者: libyailyw   发布时间: 2011-08-04

如附件,看是否能看明白....

附件

Book1.rar(22.55 KB)

2011-8-4 11:30, 下载次数: 1

作者: libyailyw   发布时间: 2011-08-04

楼主用公式计算的R列结果是否正确?验证后再做最后一步
附件1.rar (20.34 KB)
附件1.rar (20.34 KB)
下载次数: 8
2011-8-4 11:34


[ 本帖最后由 dsmch 于 2011-8-4 11:39 编辑 ]

作者: dsmch   发布时间: 2011-08-04

引用:
原帖由 dsmch 于 2011-8-4 11:34 发表
楼主用公式计算的q列结果是否正确?验证后再做最后一步
968325
恩,是这样的,没有错。

作者: libyailyw   发布时间: 2011-08-04

求上帝降临........

作者: libyailyw   发布时间: 2011-08-04

引用:
原帖由 libyailyw 于 2011-8-4 09:36 发表



大侠,能解释下吗?如果我S列到AB列都要做筛选的话,要怎么改代码呢?
这时还需用高级筛选吗?用collection或字典来处理更好!!!!

作者: ctp_119   发布时间: 2011-08-04

相关阅读 更多

热门下载

更多