575_Excel 有用的VBA函数
这是一篇原发布于2023-08-17 11:52:00得益小站的文章,备份在此处。
[scode type="blue"]本篇文章代码来自AI生成并经本人测试有效[/scode]
使用方法
要使用 VBA 制作一个函数。你可以按照以下步骤进行操作:
-
在 Excel 中按下 Alt + F11 打开 VBA 编辑器。
-
在 VBA 编辑器中,插入一个新的模块。选择“插入” -> “模块”。
-
在新插入的模块中,粘贴需要函数代码。
-
关闭 VBA 编辑器。
注意:启用vba需要保存为xlsm格式
现在,你可以在 Excel 中使用这个新创建的函数了。假设你要提取的单元格是 A1,添加的函数名称是ExtractAndSumNumbers,请输入以下公式:
=ExtractAndSumNumbers(A1)
函数列表
提取单元格内数字并相加
这个函数会逐个检查单元格中的字符,如果遇到数字则将其添加到一个字符串变量 numString 中,当遇到非数字字符时,将 numString 中的数字转换为数值并添加到结果变量 result 中。最后,将 result 作为函数的返回值。
使用效果&举例
日期 | 本日详细 | 今日累计 | 累计 | |
---|---|---|---|---|
公式 | 2023/8/17 | 单位A18 单位B19 单位C2台 | =ExtractAndSumNumbers(B3) | =C3+D2 |
效果 | 2023/8/17 | 单位A18 单位B19 单位C2台 | 39 | 39 |
Function ExtractAndSumNumbers(cell As Range) As Double
Dim strValue As String
Dim numString As String
Dim result As Double
result = 0
strValue = cell.Value
For i = 1 To Len(strValue)
If IsNumeric(Mid(strValue, i, 1)) Then
numString = numString & Mid(strValue, i, 1)
Else
If numString <> "" Then
result = result + Val(numString)
numString = ""
End If
End If
Next i
If numString <> "" Then
result = result + Val(numString)
End If
ExtractAndSumNumbers = result
End Function