正規表現を使用する必要があります。
「Microsoft VBScript Regular Expressions 5.5」を参照する必要があります ([ツール] > [参照])。
次のコードを試してみてください。7 桁の任意のシーケンスに一致する、必要なものが得られるはずです。7 桁のシーケンスが複数ある場合、または 7 桁を超えるシーケンスが存在する可能性がある場合は、変更する必要があります。
Sub FindNumber()
' Reference: Microsoft VBScript Regular Expressions 5.5
Dim RegEx As Object ' VBScript_RegExp_55.regexp
Dim MatchCol As MatchCollection
Set RegEx = New RegExp
With RegEx
.Pattern = "(.*)([0-9]{7})(.*)"
.IgnoreCase = True
.Global = True
End With
For i = 1 To 3 Step 1
If RegEx.Test(ActiveSheet.Cells(i, 1).Value) Then
Set MatchCol = RegEx.Execute(ActiveSheet.Cells(i, 1).Value)
ActiveSheet.Cells(i, 2).Value = MatchCol(0).SubMatches(1)
End If
Next i
End Sub