文字列の中から数字だけを抜き差しする関数です。文字列が付いた数字をそのままで計算式に利用したい時や数値データだけ抜き出ししたい場合に便利です。
VBEの標準モジュールに下のコードを登録して「Excelマクロ有効フォーム」で保存してください。
関数の登録方法は⇒♯000 ユーザー定義関数を登録する方法
登録されたら、シート上からユーザー関数「NumExt」が使用できます。
使い方は
ワークシート上で = NumExt (文字列)の関数として使用できます。
【例】
NumExt (“1,500円”) → 1,500
NumExt (“1丁目”) → 1
Function NumExt(S)
’ 文字列から数字を抜き出す関数
On Error GoTo EXITFUN
Dim i1 As Long
Dim i2 As Long
Dim LenS As Long
Dim N As String
If S = “” Then
NumExt = “”
Exit Function
End If
If IsNumeric(S) = True Then
NumExt = S
Exit Function
End If
S = StrConv(S, vbNarrow)
LenS = Len(S)
For i1 = 1 To LenS
For i2 = 0 To 9
If Mid(S, i1, 1) = i2 Then
N = N & i2
End If
Next
If Mid(S, i1, 1) = “.” Then
N = N & “.”
End If
Next
If N = “” Then
NumExt = “”
Exit Function
End If
NumExt = Val(N)
EXITFUN:
End Function
ここで紹介したコード使用による損害に対しては一切責任は負えません。