2014-10-08 3 views
0

У меня есть лист в Excel, который я пытаюсь позвонить в VBA. Это, как я называю это:Обратитесь к листу по части имени листа

mainMetrics.Sheets(Sheet10).Range("A1:A1").Select 

лист имеет название «Data Dump августа», но я не хочу называть это так, потому что имя может измениться, но номер листа не будет. По какой-то причине VBA не позволит мне называть это так.

Что я делаю неправильно?

ответ

0

Вы можете назвать это нравится: Sheet10.Range("A1:A1").Select

Имейте в виду, что лист в VBA имеет «Name» (который является именем на вкладке листа) и «Codename», которая видна в Дерево VBAProject в редакторе VBA/Macro. В этом стиле ссылок используется «CodeName»

Чтобы посмотреть, что перейдите к разделу «Просмотр >> Project Explorer. Откройте свою книгу в дереве и посмотрите имена листов. Он будет выглядеть как Sheet1 (Sheet1) или Sheet10 («My Tab Name»)

+0

В нем говорится, что объект не поддерживает это свойство или метод ... – user4122516

+0

Я добавил обновление к своему ответу, которое может вам помочь. Имена листов VBA могут запутаться, потому что Sheet.Name и Sheet.CodeName - две разные вещи. CodeName является статическим, но имя может меняться так, как вы называете вкладку. – JNevill

+0

Кроме того ... это 'mainMetrics' объект рабочей книги, который вы объявили и уже установили, или это просто название книги? – JNevill

0

листы («Sheet10»). Диапазон («A1»). Select - для одиночной ячейки листов («Sheet10»). Диапазон («A1: B10»). Select - для нескольких ячеек

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