前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VBA程序:对加粗的单元格中的值求和

VBA程序:对加粗的单元格中的值求和

作者头像
fanjy
发布2024-01-02 17:47:24
1280
发布2024-01-02 17:47:24
举报
文章被收录于专栏:完美Excel完美Excel

标签:VBA

下面的VBA自定义函数演示了如何对应用了粗体格式的单元格求和。

在VBE中,插入一个标准模块,在其中输入下面的代码:

代码语言:javascript
复制
Public Function SumBold( _
       ParamArray vInput() As Variant) As Variant
 Dim rParam As Variant
 Dim rCell As Range
 Dim vTemp As Variant
 
 Application.Volatile
 On Error GoTo ErrHandler
 For Each rParam In vInput
   If TypeName(rParam) = "Range" Then
     With rParam
       For Each rCell In Intersect( _
         .Cells, .Cells.Parent.UsedRange)
         With rCell
           If .Font.Bold Then
             If IsError(.Value) Then
               vTemp = .Value
               Exit For
             ElseIf VarType(.Value2) = vbDouble Then
               vTemp = vTemp + .Value2
             End If
           End If
         End With
       Next rCell
     End With
   End If
 Next rParam
 SumBold = vTemp
Continue:
 On Error GoTo 0
 Exit Function
ErrHandler: '检查是否溢出
 If Err.Number = 6 Then SumBold = CVErr(xlErrNum)
 Resume Continue
End Function

注意,当求和的单元格区域中单元格格式发生更改时,不会触发任何事件;而使用Application.Volatile语句,每当在工作表上的内容更改时,单元格都会重新计算。这意味着,仅对求和单元格区域中的单元格设置加粗格式,使用该自定义函数求和的值不会改变,除非按F9键强制计算,或者在工作表中输入内容导致工作表重新计算。

这个程序也提供了一个模板,可以稍作修改对其它格式设置的单元格来求和

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-27,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com