Excel精英培训网

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

[VBA] 用VBA写单元格求和自定义函数

[复制链接]
发表于 2016-8-18 12:50 | 显示全部楼层 |阅读模式

用VBA写单元格求和自定义函数


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-8-18 13:00 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2016-8-18 13:41 | 显示全部楼层
蝶·舞 发表于 2016-8-18 13:00
直接SUM不行吗?

直接SUM当然可以,不过最好还是写一个,好吧
回复

使用道具 举报

发表于 2016-8-18 14:46 | 显示全部楼层
Function cnmb(ParamArray Arr())
Dim f, c, k
f = 0
For Each c In Arr
Select Case VarType(c)
Case vbVariant + vbArray
For Each k In c
If VarType(k) = vbBoolean Then
If k = True Then
f = f + 1
End If
ElseIf IsNumeric(k) Then
f = f + k
End If
Next k
Case Else
If VarType(c) = vbBoolean Then
If c = True Then
f = f + 1
End If
ElseIf IsNumeric(c) Then
f = f + c
End If
End Select
Next c
cnmb = f
End Function

评分

参与人数 1 +1 收起 理由
SUNY58 + 1 来学习

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2016-8-18 16:57 | 显示全部楼层
mathking77 发表于 2016-8-18 14:46
Function cnmb(ParamArray Arr())
Dim f, c, k
f = 0

只可惜可得太复杂了

Function qh(rng As Range)
Dim cel As Range, h
For Each cel In rng
    h = h + cel.Value
Next
qh = h
End Function

用法:A10=qh(a1:e1)


回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-28 03:34 , Processed in 0.144334 second(s), 6 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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