Excel精英培训网

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

如何利用VBA对C列S1N#对应的I列cbm总和按照大小排序?

[复制链接]
发表于 2019-10-10 20:24 | 显示全部楼层 |阅读模式
目前公司由于业务需求,需要根据S1N#去算出这个S1N的CBM总和,比如 S1N2173266占用3行,其对应的CBM总和是0.32+0.52+0.54CBM,
(有些S1N#只有一个),然后根据每个S1N的CBM总和从大到小排序。要求排序后相同的S1N#不分开。


感谢大神高手抽出您宝贵的时间帮忙指点,多谢!

数据如下(也可参考附件ZIP源文件):
DATE
   
S/O NO
S1N
P.O. NO
ITEM NO.
PLT
Ctn
Pcs
cbm
Weight
2019/8/13
WALGHKG1/WDL
S1N2176912
06856642
857654
613
1226
22.07
1409.9
2019/8/20
WALGHKG1/WDL
S1N2188401
06888305
992628
29
696
0.33
43.5
2019/8/20
WALGHKG1/WDL
S1N2174784
06890712
987195
34
204
1
61.2
2019/8/20
WALGHKG1/WDL
S1N2173266
06889679
975129
11
792
0.32
23.76
2019/8/20
WALGHKG1/WDL
S1N2173266
06889679
975128
16
1152
0.52
37.6
2019/8/20
WALGHKG1/WDL
S1N2173266
06889679
267826
15
720
0.54
65.4
2019/8/20
WALGHKG1/WDL
S1N2182253
06871092
636487
586
7032
15.36
1511.88
2019/8/20
WALGHKG1/WDL
S1N2182253
06871092
635863
320
3840
8.11
809.6
2019/8/20
WALGHKG1/WDL
S1N2188786
06856388
982362
129
774
2.89
245.1
2019/8/20
WALGHKG1/WDL
S1N2192654
06890875
925080
11
264
0.08
8.8
2019/8/20
WALGHKG1/WDL
S1N2192654
06890875
925073
43
1032
0.3
30.1
2019/8/20
WALGHKG1/WDL
S1N2180138
06871992
539262
908
10896
7.55
272.4
2019/8/20
WALGHKG1/WDL
S1N2149514
06856438
869198
557
2228
13.42
1392.5
2019/8/20
WALGHKG1/WDL
S1N2174740
06890712
986557
39
351
0.35
29.64
2019/8/20
WALGHKG1/WDL
S1N2174723
06872158
544057
1159
4636
20.64
1587.83
2019/8/20
WALGHKG1/WDL
S1N2182307
06880978
408477
345
2760
4.72
552
2019/8/20
WALGHKG1/WDL
S1N2184956
06880978
851657
299
2392
4.38
544.18

inventory.zip

8.91 KB, 下载次数: 3

源文件

发表于 2019-10-10 20:32 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2019-10-10 21:00 来自手机 | 显示全部楼层
爱疯 发表于 2019-10-10 20:32

感谢大神快速回复,公式的方法先收藏了,由于这个排序过程只是我写的VBA程序中的一个片段,希望能够给出VBA的解决方案,感谢!
回复

使用道具 举报

发表于 2019-10-10 21:13 | 显示全部楼层
Sub test()
    Range("r2:r" & Range("a65536").End(xlUp).Row) = "=SUMIF(C:C,C2,I:I)"    '加辅助列
    Range("a1").CurrentRegion.Sort key1:=[r1], order1:=xlAscending, Header:=xlYes    '按辅助列排序
    Range("r:r") = ""    '删辅助列
End Sub
回复

使用道具 举报

 楼主| 发表于 2019-10-11 17:50 | 显示全部楼层

RE: 如何利用VBA对C列S1N#对应的I列cbm总和按照大小排序?【已解决】

爱疯 发表于 2019-10-10 21:13
Sub test()
    Range("r2:r" & Range("a65536").End(xlUp).Row) = "=SUMIF(C:C,C2,I:I)"    '加辅助列
  ...

谢谢您,问题已解决!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 23:31 , Processed in 0.138180 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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