mugaxのなんでも情報局

いろんな分野について発信していきます。

Excel VBA練習問題 初級編001

問題

アルファベットと数字で構成された文字列がある。
文字列に含まれる数字の和を返す関数
 Function SumNumFromStr(tgt As String) As Long
を作れ。
(例)
SumNumFromStr("aaa123")    → 6
SumNumFromStr("a1b3c5")    → 9
SumNumFromStr("ssss")      → 0
SumNumFromStr("")          → 0
SumNumFromStr("567890010") → 36

 

 

 

 

 

 

 

解答例

Function SumNumFromStr(tgt As String) As Long

    Dim i As Long
    Dim sum As Long
    
    For i = 1 To Len(tgt)
        If Mid(tgt, i, 1) Like "#" Then
            sum = sum + CLng(Mid(tgt, i, 1))
        End If
    Next

    SumNumFromStr = sum
End Function