"Я пытаюсь написать код VBA, который дает мне первый столбец в строке с более чем 2 числами в ячейке"
Iсогласитесь с комментариями о том, что ваше приведенное выше заявление оставляет место для интерпретации того, что вы считаете «цифрами».Но в случае, если вы хотите узнать, действительно ли два или более символа в строковом значении считаются числовыми значениями, попробуйте заменить цикл в столбцах на:
For i = 1 To rRange.Columns.Count
If Application.Evaluate("SUM(LEN(" & rRange(1, i).Address & ")-LEN(SUBSTITUTE(" & rRange(1, i).Address & ",{1,2,3,4,5,6,7,8,9,0},)))") > 2 Then
firstColWithNums = i
Exit For
End If
Next i
Или, скорее, обратитесьна правильный лист, используя .Evaluate
через оператор With..
:
With Sheet3
Set rRange = .Range("Schedule")
For i = 1 To rRange.Columns.Count
If .Evaluate("SUM(LEN(" & rRange(1, i).Address & ")-LEN(SUBSTITUTE(" & rRange(1, i).Address & ",{1,2,3,4,5,6,7,8,9,0},)))") > 1 Then
firstColWithNums = i
Exit For
End If
Next i
End With