Excel精英培训网

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

[已解决]用代码对多列求和

[复制链接]
发表于 2015-12-26 17:30 | 显示全部楼层 |阅读模式
用代码对多列求和
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For x = 3 To 100 '列
For Y = 3 To 1000 '行
Cells(2, x) = [=Sum(Cells(Y, x))]
Next
Next
'   [B2] = [=SUM(B3:B1000)]
'   [C2] = [=SUM(C3:C1000)]
'   [D2] = [=SUM(D3:D1000)]
'   [E2] = [=SUM(E3:E1000)]
'   [F2] = [=SUM(F3:F1000)]
'   [G2] = [=SUM(G3:G1000)]
'   [H2] = [=SUM(H3:H1000)]
'   [I2] = [=SUM(I3:I1000)]
'   [J2] = [=SUM(J3:J1000)]

End Sub


最佳答案
2015-12-26 17:44
  1. Sub Macro2()
  2. [b2] = "=SUM(B3:B1000)"
  3. Range(Cells(2, 2), Cells(2, 100)).FillRight '100列
  4. End Sub
复制代码

求和.rar

9.79 KB, 下载次数: 26

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2015-12-26 17:44 | 显示全部楼层
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For x = 3 To 100 '列
  For Y = 3 To 1000 '行
    Cells(2, x) = application.sum(range(cells(3,x),cells(1000,x)))
  Next
Next
End Sub
是这样吗……
回复

使用道具 举报

发表于 2015-12-26 17:44 | 显示全部楼层    本楼为最佳答案   
  1. Sub Macro2()
  2. [b2] = "=SUM(B3:B1000)"
  3. Range(Cells(2, 2), Cells(2, 100)).FillRight '100列
  4. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2015-12-26 18:13 | 显示全部楼层
dsmch 发表于 2015-12-26 17:44

谢谢老师的解答,效果非常好,比循环语句要快多了
回复

使用道具 举报

 楼主| 发表于 2015-12-26 18:15 | 显示全部楼层
shwanghuafeng 发表于 2015-12-26 17:44
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For x = 3 To 100 '列
  For Y = 3 To 1 ...

谢谢老师的解答,达到了我要的效果,循环语句反映有点慢,楼下的代码要快很多
回复

使用道具 举报

发表于 2015-12-26 18:24 | 显示全部楼层
梦想有多远 发表于 2015-12-26 18:15
谢谢老师的解答,达到了我要的效果,循环语句反映有点慢,楼下的代码要快很多

我也是刚学的菜鸟,楼上老师写的比我好多啦{:27:}
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 23:33 , Processed in 0.377729 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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