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
 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号