Создание и именование рабочего листа в Excel VBA [закрыто]

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

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

Код, который я использую, находится здесь:

     Dim WS As Worksheet

     Set WS = Sheets.Add(After:=Sheets(Worksheets.count))
     WS.name = txtSheetName.value

Довольно просто Мне интересно, если эта проблема в том, что он пытается переименовать лист, прежде чем он будет правильно создан? Есть ли лучший способ написать этот код?

Обновить: Я начал отлаживать это с помощью msgboxes, так как открытие отладчика останавливает проблему, и кажется, что он просто останавливает обработку кода на полпути:

  Dim WS As Worksheet
  MsgBox (WS Is Nothing)

    Set WS = Sheets.Add(After:=Sheets(Worksheets.count))
    '***** Nothing after this point gets processed *******
    MsgBox (WS Is Nothing)
    MsgBox WS.name

    WS.name = txtSheetName.value
    MsgBox WS.name

Ответы на вопрос(3)

Ваш ответ на вопрос