2015-11-02 8 views
1

Я пытаюсь сделать другой рабочий лист активен, когда командная кнопка нажата, но я остаюсь в той же активной книге:Попытка ссылаться на другую таблицу в активной книге

Sub Submit_Warranty() 
    'Set warranty data worksheet as active page 
    Sheets("Sheet2").Activate 

    'Show the submit warranty user form 
    Warranty_Input.Show 
End Sub 

Я постоянно получаю «подстрочный из диапазон ". Есть идеи?

+0

вы уверены, что таблица называется «Лист2», а не «Лист 2», «Лист2», или «Лист2»? – sous2817

ответ

3

Если код, который вы отправили, это все, то эта ошибка в значительной степени должна быть связана с недопустимой ссылкой. Поэтому я предполагаю, что фактическое отображаемое имя - это что-то вроде «Warranty_Data», в то время как «Sheet2», скорее всего, является именем объекта VBA (возможно, вы используете их в обратном порядке).

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

enter image description here

+0

довольно хорошо объяснил :) надеюсь, что в будущем microsoft изменит «имя, показанное на вкладке», на что-то вроде «caption» ... ppl так часто путают, имея 1 объект с двумя разными именами-свойствами –

+0

Хорошее название рабочего листа ! Ха-ха. Я просто изучаю VBA, поэтому извиняюсь за свое невежество. Видеть ваш пример отлично. Это имело наибольший смысл. Большое спасибо!! – John

 Смежные вопросы

  • Нет связанных вопросов^_^