セル内の文字列から数字を取り出す:Excel VBA入門 |
スポンサードリンク | |
Function myNo1(r As Range) Dim myStr As String Dim myN As String Dim i As Long For i = 1 To Len(r.Value) myStr = Mid(r.Value, i, 1) If myStr Like "[0-9]" Then myN = myN & myStr End If Next i If IsNumeric(myN) Then myNo1 = myN * 1 Else myNo1 = "" End If End Function |
Function myNo3(myRng As Range) Dim RE RE = CreateObject("VBScript.RegExp") With RE .Pattern = "[^0-9]" .Global = True myNo3 = .Replace(myRng, "") End With End Function |
Function myNo2(r As Range) Dim myStr As String Dim myN As String Dim i As Long Dim myFlg As Boolean myFlg = False For i = 1 To Len(r.Value) myStr = Mid(r.Value, i, 1) If myStr Like "[0-9]" Then myFlg = True myN = myN & myStr ElseIf myStr = "." Or myStr = "," And myFlg Then myN = myN & myStr ElseIf myFlg Then Exit For End If Next i If IsNumeric(myN) Then myNo2 = myN * 1 Else myNo2 = "" End If End Function |
Function myNo4(myRng As Range) Dim RE Dim myStr As String Dim match, matches Set RE = CreateObject("VBScript.RegExp") With RE .Pattern = "[0-9,.]+" .Global = False Set matches = .Execute(myRng.Value) myStr = "" For Each match In matches myStr = myStr & match.Value Next myNo4 = myStr * 1 End With Set RE = Nothing End Function |
スポンサードリンク
PageViewCounter
Since2006/2/27