我有一个函数可以将Excel注释框中的所有美元金额加起来。但是,我在注释框中写了一些注释,由于它不是以$ XX.xx开头,因此会导致错误。有一种方法可以忽略整个字符串(用enter分隔),也可以使“注释字符串” “ 特殊字符?例如,如果我以;开头的字符串然后忽略下一行之后的所有文本?
这是我当前的功能:
Function CleanString(strIn As String) As String
Dim objRegex
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Global = True
.Pattern = "[^0-9" & Application.DecimalSeparator & "]"
CleanString = .Replace(strIn, vbCrLf)
End With
End Function
Function commentSum(cmt As Comment) As Double
Dim vDat As Variant
Dim i As Long
Dim res As Double
vDat = Split(CleanString(cmt.Text), vbCrLf)
For i = LBound(vDat) To UBound(vDat)
If Len(vDat(i)) > 0 Then
res = res + CDbl(vDat(i))
End If
Next i
commentSum = res
End Function
答案 0 :(得分:0)
替换:
If Len(vDat(i)) > 0 Then
使用方式:
If Len(vDat(i)) > 0 And Not Left(vDat(i), 1) = ";" Then
然后它将忽略以;
开头的任何行