Excel精英培训网

 找回密码
 注册
查看: 1110|回复: 1

[excel VBA教程] 请高手帮忙,用VBA代码代替公式

[复制链接]
发表于 2016-11-22 15:58 | 显示全部楼层 |阅读模式
请高手帮忙,用VBA代码代替公式:=SUMIF(数据库!$A$4:$A$8888,$A3,数据库!$H$4:$H$8888)等等,就是将表“汇总“的B3:D14的公式用VBA代码代替,E列的公式能用代码代替更好。因为数据量大,公式运行慢。谢谢了!具体详见附件。

工作簿2.rar

14.64 KB, 下载次数: 5

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-11-23 10:03 | 显示全部楼层
  1. Sub 汇总()
  2.     Dim MO As Byte
  3.     For MO = 3 To 14
  4.         Sheets("汇总").Cells(MO, 2) = WorksheetFunction.SumIf(Sheets("数据库").Columns(1), _
  5.         Sheets("汇总").Cells(MO, 1), Sheets("数据库").Columns(8))
  6.         Sheets("汇总").Cells(MO, 3) = WorksheetFunction.SumIf(Sheets("数据库").Columns(1), _
  7.         Sheets("汇总").Cells(MO, 1), Sheets("数据库").Columns(12))
  8.         Sheets("汇总").Cells(MO, 4) = WorksheetFunction.SumIf(Sheets("数据库").Columns(1), _
  9.         Sheets("汇总").Cells(MO, 1), Sheets("数据库").Columns(16))
  10.         Sheets("汇总").Cells(MO, 5) = Sheets("汇总").Cells(MO, 2) + Sheets("汇总").Cells(MO, 3) + _
  11.         Sheets("汇总").Cells(MO, 4)
  12.     Next MO
  13.     Sheets("汇总").[B15] = WorksheetFunction.Sum(Sheets("汇总").[B3:B14])
  14.     Sheets("汇总").[C15] = WorksheetFunction.Sum(Sheets("汇总").[C3:C14])
  15.     Sheets("汇总").[D15] = WorksheetFunction.Sum(Sheets("汇总").[D3:D14])
  16.     Sheets("汇总").[E15] = WorksheetFunction.Sum(Sheets("汇总").[E3:E14])
  17. End Sub
复制代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-3 15:01 , Processed in 0.202759 second(s), 5 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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