VBA – 文字列から数値を抽出する
Last updated on 8月 1, 2022
文字列から数値部分を抽出する
以下の関数は、文字列から数値部分を取り出します。
Function Extract_Number_from_Text(Phrase As String) As Double
Dim Length_of_String As Integer
Dim Current_Pos As Integer
Dim Temp As String
Length_of_String = Len(Phrase)
Temp = ""
For Current_Pos = 1 To Length_of_String
If (Mid(Phrase, Current_Pos, 1) = "-") Then
Temp = Temp & Mid(Phrase, Current_Pos, 1)
End If
If (Mid(Phrase, Current_Pos, 1) = ".") Then
Temp = Temp & Mid(Phrase, Current_Pos, 1)
End If
If (IsNumeric(Mid(Phrase, Current_Pos, 1))) = True Then
Temp = Temp & Mid(Phrase, Current_Pos, 1)
End If
Next Current_Pos
If Len(Temp) = 0 Then
Extract_Number_from_Text = 0
Else
Extract_Number_from_Text = CDbl(Temp)
End If
End Function
これを実行すると、例えば以下のようになります。
Extract_Number_from_Text(“uuigguo 995”) は 995 を返します。
Extract_Number_from_Text(“uuigguo 0.12995”) は 0.12995 を返します。
Extract_Number_from_Text(“yu00.000456”) は 0.000456 を返します。
Extract_Number_from_Text(“juii-0009.9987iihiii”) は -0.9987 を返します。
フレーズの中に数字がない場合は0が返されます。
この記事の.XLSMファイルをダウンロードするには、ここをクリックしてください。
VBAのコーディングが簡単に
VBAのコードをオンラインで検索するのはもうやめましょう。AutoMacro – A VBA Code Builderについてもっと知る – 初心者が最小限のコーディング知識でゼロから手順をコーディングでき、すべてのユーザーのために多くの時間節約機能を備えています! もっと詳しく