Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Макросы.doc
Скачиваний:
26
Добавлен:
21.11.2018
Размер:
16.91 Mб
Скачать

Методы объекта Range

Объект Range имеет много методов, среди которых следующие.

  • Activate (Активизировать) - активизирует (выделяет) диапазон.

  • Clear (Очистить) - очищает содержимое диапазона.

  • Сору (Копировать) - копирует содержимое диапазона в буфер обмена.

  • Cut (Вырезать) - перемещает содержимое диапазона в буфер обмена.

  • PasteSpecial (Специальная вставка) - вставляет содержимое буфера обмена в диапазон, используя при этом различные аргументы.

  • Select (Выделить) - выделяет диапазон.

Использование оператора With

Теперь, когда вы знакомы с объектами Excel, пришло время изучить несколько конструкций языка VBA, значительно облегчающих работу с объектами. Одна из задач, которую часто придется решать с помощью VBA, - задание различных параметров форматирования объекта. В листинге 10.2 показан пример форматирования диапазона ячеек.

Листинг 10.2. Пример форматирования диапазона

1: Range("A1:A6").NumberFormat = "#,##0.00"

2: Range("A1:A6").Font.Name = "Courier New"

3: Range("A1:A6").Font.FontStyle = "Regular"

4: Range("A1:A6").Font.Size = 11

5: Range("A1:A6").Font.Strikethrough = False

6: Range("A1:A6").Font.Superscript = False

7: Range("A1:A6").Font.Subscript = False

8: Range ("A1:A6").Font.OutlineFont = False

9: Range("A1:A6").Font.Shadow = False

10: Range("A1:A6").Font.Underline = xlUnderlineStyleNone

11: Range("A1:A6").Font.ColorIndex = xlAutomatic

Чтобы ввести код этого листинга, вам надо снова и снова набирать Range("А1:А6"). Конечно, можно использовать переменную-объект для ссылки на объект Range("A1:A6"), но в этом случае вам столько же раз придется вводить имя переменной. Из подобных ситуаций VBA предлагает другой выход - оператор With, который применяется тогда, когда необходимо задать много свойств или выполнить большое количество методов одного объекта. Листинг 10.3 показывает тот же код листинга 10.2, но с использованием оператора With.

Листинг 10.3. Пример использования оператора With

1: With Range("A1:A6")

2:  .NumberFormat = "#,##0.00"

3:  With.Font

4:   .Name = "Courier New"

5:   .FontStyle = "Regular"

6:   .Size = 11

7:   .Strikethrough = False

8:   .SuperScript = False

9:   .SubScript = False

10:   .OutlineFont = False

11:   .Shadow = False

12:   .Underline = xlUnderlineStyleNone

13:   .Font.ColorIndex = xlAutomatic

14:  End With

15: End With

Оператор With имеет следующий синтаксис:

With объект

 [операторы]

End With

Объект - это тот объект, чьи свойства и методы указаны в секции операторы. Каждая строка в этой секции начинается с точки, как показано в листинге 10.3. Операторы With можно вкладывать друг в друга. В нашем листинге оператор With объекта Font вложен в оператор With объекта Range. В листинге 10.4 приведен другой пример использования оператора with.

Листинг 10.4. Оператор With, содержащий оператор и метод

1: Sub WithWorksheet()

2:  With ThisWorkbook

3:   .SaveAs "ПримерWith"

4:   MsgBox "Статус сохранения: " & .Saved

5:  End With

6: End Sub