如何用Excel VBA提取字符串中位于:和@之间的可变数字
Excel VBA 提取指定位置的支付金额数字
针对需求中始终位于: 和 @之间的可变金额数字,可通过以下自定义VBA函数实现提取:
Function ExtractPaymentAmount(inputStr As String) As Double Dim colonPos As Integer Dim atPos As Integer Dim amountStr As String ' 定位冒号(含后续空格)的位置 colonPos = InStr(inputStr, ": ") ' 定位@符号(含前置空格)的位置 atPos = InStr(inputStr, " @") ' 确保两个分隔符存在且顺序正确 If colonPos > 0 And atPos > colonPos Then ' 截取分隔符之间的金额字符串 amountStr = Mid(inputStr, colonPos + 2, atPos - colonPos - 2) ' 转换为数值类型返回 ExtractPaymentAmount = CDbl(amountStr) Else ' 无匹配内容时返回0,可根据需求改为返回Empty或其他值 ExtractPaymentAmount = 0 End If End Function
使用说明
- 打开Excel,按下
Alt + F11打开VBA编辑器 - 插入新模块,将上述代码粘贴进去
- 返回Excel工作表,在目标单元格中输入公式:
=ExtractPaymentAmount(目标字符串所在单元格),例如=ExtractPaymentAmount(A1)即可提取出对应金额
内容的提问来源于stack exchange,提问作者Lachlan Purvis
相关产品推荐
相关产品推荐

