publicColumn объявлен в модуле как
Public publicColumn As Range
Полный саб был:
Sub DoAll()
'Stop
Sheets("Sheet1").Range("A4:AL60").Clear
If Sheets("Model").Range("E1") = "KG" Then
Set publicColumn = Sheets("Model").Range("H7")
Else
Set publicColumn = Sheets("Model").Range("H6")
End If
Application.ScreenUpdating = False
AddFlavors.Show
Sheets("Model").Activate
End Sub
Я смог заставить это работать, изменив следующее:
Sub DoAll()
'Stop
Sheets("Sheet1").Activate
Sheets("Sheet1").Range("A4:AL60").Clear
Sheets("Model").Activate
If Sheets("Model").Range("E1") = "KG" Then
Set publicColumn = Sheets("Model").Range("H7")
Else
Set publicColumn = Sheets("Model").Range("H6")
End If
Application.ScreenUpdating = False
AddFlavors.Show
Sheets("Model").Activate
End Sub
Почему это просто завершает выполнение sub / stop?Было ли что-то не так с моим кодом?
Он запускался с помощью кнопки на листе («Модель»), но я также попытался запустить его через пошаговый отладчик, как я нашел, где он выходил.
Редактировать: Настройки, похоже, ничего не исправили.Я знаю, поскольку я не могу специально повторить условия, при которых код не выполняется, становится очень трудно отлаживать.Если у кого-то есть идеи относительно причины этого, дайте мне знать.