Как получить доступ к рабочему листу, ячейкам, с помощью кодового имени в виде переменной?
Категория: Basic
2012-07-11 14:47:49
Если Вы предпочитаете использовать кодовое (программное) имя рабочего листа, диаграммы, то, скорее всего, уже заметили, что это имя приходится указываться в виде константы, если же это неприемлемо, и Вам необходимо получить доступ к рабочему листу и его ячейкам, но при этом кодовое имя должно быть переменным, то решить поставленную задачу можно, как минимум, двумя способами:
- вариант:
code: #vba
Dim iVBComponent As Object Dim iDiapazon As Range, iWorksheet As Worksheet iCodeName$ = "Лист2" Set iVBComponent = ThisWorkbook.VBProject.VBComponents(iCodeName$) Set iDiapazon = iVBComponent.Properties("Cells").Object Set iWorksheet = iDiapazon.Worksheet '.Parent
- вариант:
code: #vba
Dim iVBComponent As Object Dim iDiapazon As Range, iWorksheet As Worksheet iCodeName$ = "Лист2" Set iVBComponent = ThisWorkbook.VBProject.VBComponents(iCodeName$) Set iWorksheet = ThisWorkbook.Worksheets(iVBComponent.Properties("Name").Value) Set iDiapazon = iWorksheet.Cells
Комментарий:
- В текущей рабочей книге обязательно должен присутствовать рабочий лист, с указанным кодовым именем, в противном случае возникнет ошибка
- Доступ к другим открытым рабочим книгам можно получить, если использовать индекс (номер) или имя нужной книги в семействе Workbooks, например, Workbooks(1).Worksheets или Workbooks ("Personal.xls").VBProject
Поделиться: