575_Excel 有用的VBA函数

发布时间 2023-09-26 09:59:11作者: 游佚

这是一篇原发布于2023-08-17 11:52:00得益小站的文章,备份在此处。

[scode type="blue"]本篇文章代码来自AI生成并经本人测试有效[/scode]

使用方法

要使用 VBA 制作一个函数。你可以按照以下步骤进行操作:

  1. 在 Excel 中按下 Alt + F11 打开 VBA 编辑器。

  2. 在 VBA 编辑器中,插入一个新的模块。选择“插入” -> “模块”。

  3. 在新插入的模块中,粘贴需要函数代码。

  4. 关闭 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