Я перебираю строки и просматриваю первый столбец каждой строки (имени), используя разные функции для поиска его отметок.
Для каждого «имени» есть отдельная запись в другой таблице.("отметки"), которые также могут быть пустыми или "-"
Sub main()
On error goto errorhandler
Dim name as string
Dim marks as double
Dim source as range
Dim runs as integer
runs = 1
Set source = Sheets("input").Range("$A$2")
i=1
Do until source.offset(i,0) = "" 'iterate through rows
name = source.offset(i,0)
marks = find(name)
do until runs * marks > 100
runs = runs + 1 'since marks is not defined;runs overflows
Loop
'a lot of code which relies on marks
errorhandler:
i = i + 1
Loop
End Sub
Function find(name as string) as double
find = application.vlookup(name,Sheets("values").Range("$A$2,$C$5"),2,0)
End function
теперь, как я уже сказал, значение в столбце 2 этой таблицы также может быть пустым или "-", что приводит к ошибке Runtime error13 «Несоответствие типов»
я даже пытался вставить оператор ошибки внутри цикла. VBA обычно должен искать обработку ошибок в вызывающей функции, то есть «main», но этого не происходит