VBA制作特殊数字型字符串求和或乘自定义函数
1、ALT+F11打开VBE编辑器,新建稍僚敉视个模块,命名为:特殊字符求和或乘,粘贴如下代码: Function tssum(s As Range, Optional str As Stri荏鱿胫协ng = " ") Dim arr, temp, rg As Range For Each rg In s arr = Split(rg.Value, str) For i = 0 To UBound(arr) If arr(i) <> str Then temp = temp + Val(arr(i)) Next Next tssum = temp End Function Function tscheng(s As Range, Optional str As String = " ") Dim arr, temp, rg As Range temp = 1 For Each rg In s arr = Split(rg.Value, str) For i = 0 To UBound(arr) If arr(i) <> str And arr(i) <> "" Then temp = temp * Val(arr(i)) Next Next tscheng = temp End Function Sub tjbz() Application.MacroOptions "tssum", _ Category:="特殊求和或乘", _ Description:="对含有用单一特殊字符分割的数字型字符串单元格区域求和。" & Chr(10) & Chr(32) & Chr(32) & Chr(32) & Chr(32) & _ "S表示:所需求和单元格区域,str表示:分割数字型字符串的单一特殊字符(默认:“空格”)。" Application.MacroOptions "tscheng", _ Category:="特殊求和或乘", _ Description:="对含有用单一特殊字符分割的数字型字符串单元格区域求乘。" & Chr(10) & Chr(32) & Chr(32) & Chr(32) & Chr(32) & _ "S表示:所需求乘单元格区域,str表示:分割数字型字符串的单一特殊字符(默认:“空格”)。" End Sub
2、单击菜单:文件-属性,在弹出的属性对话框中点选摘要标签,标题输入:特殊字符求和或乘,备注输入:对特殊字符分割的数字型字符串求和或乘。
3、单击菜单:文件-另存为,在弹出的另存为对话框中,文件名输入:特殊数字型字符串求和或乘,保存类型选择为加载宏类型,点保存。
4、单击菜单:工具-加载宏,在弹出的加载宏对话框,点浏览,加载我们刚刚新建的:特殊数字型字符串求和或乘.xla加载宏。
5、单击菜单:插入-函数,查看自定义函数的帮助,效果如下图:
6、如下图所示,分别在B1,B2,B3,B4单元格输入:=tssum(A1:A2,"|."),=tscheng烫喇霰嘴(A1:A2,"|."),=tssum(A3:A4),=tscheng(A3:A4),验证下结果如下图所示。(文中所涉及加载宏文件可至:http://pan.baidu.com/s/1sjHaQb7下载。)