| 
    
     |  | こんにちは。 正規表現使ってみたんですけど、いまいちかもしれません。
 個人的には、わかりやすくて好きなんですけど。
 それと、10.20Vとかは書式設定しないと、正規表現じゃだめですね。
 
 Dim myRE As Object
 Dim matchString As String
 Dim i As Integer
 Dim n As Integer, myStrings As String
 Dim testStrings As String, resultStrings As String
 
 matchString = "[0-9]|[.]"
 Set myRE = CreateObject("VBScript.RegExp") '正規表現用オブジェクト生成。
 myRE.Pattern = matchString
 
 For i = 1 To CInt(Range("A65536").End(xlUp).Row)
 myStrings = Range("A" & i).Value
 For n = 1 To Len(myStrings)
 testStrings = Mid(myStrings, n, 1)
 If myRE.test(testStrings) = True Then
 resultStrings = resultStrings & testStrings
 End If
 Next n
 Range("B" & i).Value = resultStrings
 resultStrings = ""
 Next i
 
 Set myRE = Nothing
 
 |  |