Excel精英培训网

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

[已解决]紧急求救······················老师请进来

[复制链接]
发表于 2011-10-29 16:09 | 显示全部楼层 |阅读模式
紧急求救······················老师请进来


数据
              预收    应收    已收   
1月1日  100     1000   100  
1月1日             6000   
1月1日            5000
1月1日                       5000



效果

              预收    应收     已收    未收
1月1日 100  12000   5100   6800

2.rar (10.96 KB, 下载次数: 23)
发表于 2011-10-29 16:22 | 显示全部楼层
回复 admin321 的帖子

本来想用函数的,一看透视表也适用,就用透视表做了,不知道是否符合楼主的要求?{:912:}

2.rar

13.6 KB, 下载次数: 7

回复

使用道具 举报

 楼主| 发表于 2011-10-29 16:57 | 显示全部楼层
回复

使用道具 举报

发表于 2011-10-29 17:01 | 显示全部楼层
回复 admin321 的帖子

何必强求VBA呢?技巧能解决的就用技巧吧!{:912:}
回复

使用道具 举报

发表于 2011-10-29 17:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

 楼主| 发表于 2011-10-29 17:40 | 显示全部楼层
回复 windimi007 的帖子

因为有好几百张这样的表,而且每张表的长度都不一样,我希望能在最段的时间里将工作完成。

我只要通过代码将数据提取到这张表格中,然后再用VBA写好的代码计算就可以。


还请大师帮忙~!!!谢谢!
回复

使用道具 举报

发表于 2011-10-29 17:54 | 显示全部楼层
每个表,都从B2开始?列数一样?

回复

使用道具 举报

发表于 2011-10-29 18:08 | 显示全部楼层
回复 Select 的帖子

和(2 楼)大侠做的透视表结果一样
回复

使用道具 举报

发表于 2011-10-29 22:33 | 显示全部楼层    本楼为最佳答案   
  1. Sub test()
  2.     Columns("d:f").Replace " ", ""
  3.     Dim A, dic1, dic2, dic3, i
  4.     A = Range("C3:F" & Range("C3").End(xlDown).Row)
  5.     Set dic1 = CreateObject("scripting.dictionary")
  6.     Set dic2 = CreateObject("scripting.dictionary")
  7.     Set dic3 = CreateObject("scripting.dictionary")
  8.     For i = 1 To UBound(A)
  9.         dic1(A(i, 1)) = dic1(A(i, 1)) + A(i, 2)    '预收
  10.         dic2(A(i, 1)) = dic2(A(i, 1)) + A(i, 3)    '应收
  11.         dic3(A(i, 1)) = dic3(A(i, 1)) + A(i, 4)    '已收
  12.     Next i
  13.    
  14.     Columns("i:m").Clear
  15.     Range("c2:F2").Copy Range("i2")
  16.     Range("m2") = "未收帐款"
  17.     Range("i3").Resize(dic1.Count, 1) = Application.Transpose(dic1.keys)
  18.     Range("j3").Resize(dic1.Count, 1) = Application.Transpose(dic1.Items)
  19.     Range("k3").Resize(dic1.Count, 1) = Application.Transpose(dic2.Items)
  20.     Range("l3").Resize(dic1.Count, 1) = Application.Transpose(dic3.Items)
  21.     Range("m3").Formula = "=K3-J3-L3"
  22.     Range("m3").AutoFill Destination:=Range("M3:M" & 2 + dic1.Count)
  23.     Range("i1") = "合计"
  24.     Range("j1").Formula = "=SUM(j3:j" & 2 + dic1.Count & ")"
  25.     Range("k1").Formula = "=SUM(k3:k" & 2 + dic1.Count & ")"
  26.     Range("l1").Formula = "=SUM(l3:l" & 2 + dic1.Count & ")"
  27.     Range("m1").Formula = "=SUM(m3:m" & 2 + dic1.Count & ")"
  28.     Range("i1").CurrentRegion.Borders.LineStyle = 1
  29. End Sub
复制代码
2.rar (16.54 KB, 下载次数: 23)
回复

使用道具 举报

发表于 2011-10-29 23:02 | 显示全部楼层
用SQL 语句写了一个!

SQL 汇总.rar

18.59 KB, 下载次数: 3

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 05:19 , Processed in 0.701107 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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