Код работает по-разному с открытым и закрытым окном отладки - PullRequest
2 голосов
/ 25 июня 2019

Когда я запускаю код с открытым окном отладки, все работает нормально, но когда я запускаю точно такой же код с закрытым окном отладки, происходит странная вещь, такая как то, что он не будет копировать / вставлять данные в новые рабочие листы, он выигрываетне заполняйте значения на листе из словаря, иначе он испортит имя / кодовое имя листа назначения.

Я однажды случайно исправил проблему, заменив функцию, которая возвращает лист на основе кодового имени листа, но эта функция широко использовалась ранее и не имела проблем.Я действительно полагаюсь на эту функцию в своих сабвуферах, и я не смог бы заменить эту функцию в инструменте, над которым я сейчас работаю.

Public Function Code2Sheet(wbkWbk As Workbook, strSheetCodeName As String) As Worksheet

    Dim shtSht As Worksheet

    For Each shtSht In wbkWbk.Worksheets
        If shtSht.CodeName = strSheetCodeName Then
            Set Code2Sheet = shtSht
            Exit Function
        End If
    Next shtSht

End Function

Пожалуйста, посмотрите одну из подводных лодок, с которыми у меня проблема.Я выделил код, который не работал.Это просто не заполняет значение в листе, когда у меня закрыто окно отладки:

enter image description here

Еще одна странная вещь, которая продолжает происходить, это то, что, когда я добавляю новую вкладку, новая вкладка не будет отображаться в списке объектов.Я думаю, только если я открою окно отладки после добавления новой вкладки, оно будет отображаться

...