Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика VBA экзамен.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
3.54 Mб
Скачать

Объект Worksheet и семейство Worksheets

В иерархии Excel объект Worksheet идет сразу после объекта Workbook и представляет рабочий лист книги и входит в семейство (набор) Worksheets.

Ссылку на объект можно получить через команды:

Worksheets(Index) –‘Возвращает ссылку на объект по индексу в наборе, в качестве индекса может выступать имя листа или его номер в наборе.

Пример:

Worksheets(“Лист1”).Activate

Worksheets(1).Activate

Activesheet – ‘Возвращает ссылку на активный лист.

Пример:

Activesheet.Range(“a1”) =1

Свойства объекта Worksheet и семейства Worksheets

ActiveCell – ‘Возвращает активную ячейку активного рабочего листа.

Cells – ‘Возвращает ссылку на диапазон ячеек листа.

Cells(< строка > , < столбец >) –‘Возвращает ссылку на ячейку с указанными координатами.

Columns(< столбец >) –‘Возвращает ссылку на столбец. В качестве параметра может быть имя или номер столбца.

Пример:

Worksheets(1).Columns(“a”)=1

или

Worksheets(1).Columns(1)=1

Rows(< строка >) –‘Возвращает ссылку на строку. В качестве параметра может быть номер строки.

Пример:

Worksheets(1).Rows(1)=1

Name – ‘Возвращает имя активного рабочего листа.

Range(< диапазон ячеек>) – ‘Возвращает ссылку на указанный диапазон ячеек.

UsedRange – ‘Возвращает ссылку на используемый диапазон листа.

Пример:

Worksheets(“лист1”).UsedRange.Value=1

Count – ‘Возвращает количество листов в книге.

Item(Index) - возвращает ссылку на лист из набора, где Index – это номер или имя листа в наборе.

Пример:

Worksheets.Item(“Лист1”).Activate

или

Worksheets.Item(1).Activate

Visible –‘Определяет отображение рабочего листа в книге.

Допустимые значения:

-True – рабочий лист выводится на экран;

-False – рабочий лист невидим (скрыт), но его можно отобразить на экране с помощью команды

<Формат/Лист/Отобразить>(Format, Sheet, Show);

xlVeryHidden – рабочий лист скрыт и его можно отобразить на экране только программно.

Примеры:

Sub Пусто()

Worksheets(“Лист3”).Visible=False

End Sub

Sub Открыто()

Worksheets(“Лист3”).Visible=True

End Sub

--------------------------------------------------------------

Sub Пусто1()

Worksheets(“Лист4”).Visible=xlVeryHidden

End Sub

-------------------------------------------------------------

Sub Открыто1()

Worksheets(“Лист4”).Visible=True

End Sub

UsedRange –‘Возвращает диапазон, то есть объект Range, содержащий данные.

Пример: Worksheets(1).UsedRange.Clear –‘Очищается диапазон первого рабочего листа с данными.

38.Объект Range содержится в объекте Worksheet и состоит из одной ячейки или диапазона ячеек на отдельном рабочем листе. В следующих разделах будут рассмотрены три способа задания ссылки на объекты Range в программе VB А.

¦ Свойство Range объекта класса Worksheet или Range .

¦ Свойство Cells объекта Worksheet .

¦ Свойство Offset объекта Range .

Свойство Range

Свойство Range возвращает объект Range . Из справочных сведений по свойству Range вы узнаете, что к данному свойству обращаются с помощью нескольких вариантов синтаксиса:

объект. Range ( ячейка1) ;

объект. Range ( ячейка1, ячейка2).

Свойство Range относится к одному из двух типов объектов: объекту Worksheet или объекту Range . В данном случае ячейка! и ячемка2 указывают параметры, которые Excel будет воспринимать как идентифицирующие диапазон (в первом случае) или очерчивающие диапазон (во втором случае). Ниже следует несколько примеров использования метода Range .

Далее приведена инструкция, которая вводит значение в указанную ячейку: значение 1 вводится в ячейку А1 на листе Лист1 активной рабочей книги:

Worksheets("Лист1").Range("А1").Value = 1

Свойство Range также поддерживает имена , определенные в рабочих книгах. Поэтому если ячейка называется Ввод, то для введения значения в эту ячейку может использоваться оператор

Worksheets( " Лист 1”). Range(" Ввод ").Value = 1

В следующем примере в диапазон из 20-ти ячеек на активном листе вводится одинаковое зна­чение. Если активный лист не является рабочим листом, то отображается сообщение об ошибке:

ActiveSheet.Range("Al:B10").Value = 2

Приведенный ниже пример приведет к тому же результату, что и предыдущий.

Range (" Al ", " B 10") = 2

Отличие заключается лишь в том, что опущена ссылка на лист, поэтому предполагается активный рабочий лист. Кроме того, пропущено свойство, поэтому используется свойство по умолчанию (для объекта Range это свойство Value ). В этом примере используется второй синтаксис ссылки на свойство Range . В данном случае первый аргумент — это левая верхняя ячейка диапазона, а второй аргумент— это ячейка в правом нижнем углу диапазона.

В следующем примере для получения пересечения двух диапазонов применяется оператор пересечения Excel (пробел). Пересечением является одна ячейка— Сб. Следовательно, дан­ный оператор вводит значение 3 в ячейку С б:

Range ("С1:С10” “А6:Е6") = 3

Наконец, в следующем примере значение 4 вводится в пять ячеек, т.е. в независимые диа­пазоны. Запятая выполняет роль оператора объединения:

Range (" A 1, A 3,А5,А7,А9") = 4

До настоящего момента во всех рассмотренных примерах использовалось свойство Range объекта Worksheet . Вы также можете использовать свойство Range объекта Range . Сначала будет непросто, однако постарайтесь разобраться.

Ниже показан пример использования свойства Range объекта Range (в данном случае объектом Range является активная ячейка). В этом примере объект Range рассматривается как левая верхняя ячейка на рабочем листе, а затем в ячейку, которая в таком случае была бы В2, вводится значение 5. Другими словами, полученная ссылка является относительной для верхнего левого угла объекта Range . Следовательно, следующий оператор вводит значение 5 в ячейку, расположенную справа внизу от активной ячейки:

ActiveCell . Range ("В2”) = 5

Существует также намного более понятный способ обратиться к ячейке по отношению к диапазону— это свойство Offset (см. далее в этой главе).

39. Способы определения Range

1)самый простой и очевидный способ — воспользоваться свойством Range. Это свойство предусмотрено для объектов Application, Worksheet и самого объекта Range (если вы решили создать новый диапазон на основе уже существующего).

2) воспользоваться свойством Cells. Возможностей у этого свойства меньше — мы можем вернуть диапазон, состоящий только из одной ячейки. Зато мы можем использовать более удобный синтаксис (с точки зрения передачи переменных, перехода в любую сторону на любое количество ячеек и т.п.).

3) воспользоваться многочисленными свойствами объекта Range, которые позволяют изменить текущий диапазон или создать на основе его новый.

40.

41.

42.

43.

44.

45.

46.

47.

48.

49.

50.

Использование объекта Range

С помощью объекта Range можно искать текст, ничего не отображая в пользовательском интерфейсе. Объект Find возвращает True, если найден текст, соответствующий условиям поиска, и False в противном случае. Если текст найден, он также переопределяет объект Range для соответствия условиям поиска.

Использование объекта Selection

Если для поиска текста используется объект Selection, все указанные условия поиска применяются только к выделенному в данный момент тексту. Если Selection является позицией курсора, поиск осуществляется по всему документу. Элемент, найденный в соответствии с условиями поиска, автоматически выделяется.