Я пытался вызвать sub Lum () из моей программы callLum (), чтобы попросить Lum получить значение 11,12,13 соответственно, но похоже, что Lum не может распознать мое более раннее определение счетчика в callLum (), проиллюстрируйте как скрипт ниже. Причина в том, что в моем реальном скрипте Main у меня длинный цикл For-next, если я не прерываю цикл с помощью Msgbox, программа кажется не может найти слово «For», когда оно достигло «next». Вот почему я заканчиваю завершение основного скрипта, а затем создаю простой саб для его вызова.
Sub callLum()
Dim counter As Integer
Dim LR As Long, j As Long
counter = 10
'checking number of rows in column A
LR = Range("A" & Rows.Count).End(xlUp).Row
For j = 1 To LR
If Not IsEmpty(Range("A" & j)) And Not IsEmpty(Range("B" & j)) Then _
counter = counter + 1
Call Lum
Next j
MsgBox "THE END"
End Sub
Sub Lum()
MsgBox "Counter value is " & counter
End Sub