При использовании Excel 2010 VBA сабвуфер не работал после строки: Sheets ("Sheet1"). Range ("A4: AL60"). Clear.Это можно исправить? - PullRequest
0 голосов
/ 29 ноября 2018

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?Было ли что-то не так с моим кодом?

Он запускался с помощью кнопки на листе («Модель»), но я также попытался запустить его через пошаговый отладчик, как я нашел, где он выходил.


Редактировать: Настройки, похоже, ничего не исправили.Я знаю, поскольку я не могу специально повторить условия, при которых код не выполняется, становится очень трудно отлаживать.Если у кого-то есть идеи относительно причины этого, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...