Вы можете использовать RegExp для того же эффекта.
Преимущество подхода Regex состоит в том, что код сразу изолирует любые группы числовых символов (или пропускает любые строки, которые не имеют чисел), а не проверяет каждый отдельный символ.
Так что это дает преимущество в скорости, если вы обрабатываете достаточно большие наборы данных
Sub RegExpRed()
Dim objRegex As Object
Dim RegMC As Object
Dim RegM As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Global = True
.Pattern = "\d+"
If .test(Cells(1, 1).Value) Then
Set RegMC = .Execute(Cells(1, 1).Value)
For Each RegM In RegMC
Cells(1, 1).Characters(RegM.FirstIndex + 1, RegM.Length).Font.Color = vbRed
Next
End If
End With
End Sub