Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум9 по Excel (пр.13%2C осн. языка VBA).docx
Скачиваний:
20
Добавлен:
06.09.2019
Размер:
2.66 Mб
Скачать

Листинг 7: Программный код макроса SetValue3 ( )

Public Sub SetValue3 ( )

Range (“C3:D5”).Value = Range (“A1”).Value+1

End Sub

Для этого введите в ячейку A1 значение 3, выделите ячейку А6 и запустите макрос SetValue3 ( ) на выполнение. Диапазон ячеек С3:D5 заполнится значениями 4, при этом ячейка A6 остается активной, см. рис. 14:

Рис. 14. Результат выполнения макроса SetValue3 ( ), задание 2, п. 3.

Таким образом, нам удалось заполнить диапазон ячеек, никак не влияя при этом на активную ячейку.

4) Совсем не обязательно, чтобы значениями ячеек были числа. Можно в рамках макроса присвоить ячейке или ячейкам текстовые значения. В листинге 8 приведен код макроса SetValue4 ( ), который производит эту операцию. Выполните самостоятельно запуск макроса SetValue4 ( ). Результат выполнения задания представлен на рис. 15.

Л истинг 8: Программный код макроса SetValue4 ( )

Public Sub SetValue4 ( )

ActiveCell.Offset (1,0).Value = ”Юг”

ActiveCell.Offset (0,1).Value = ”Восток”

ActiveCell.Offset (-1,0).Value = ”Север”

A

Рис. 15. Результат выполнения макроса SetValue4 ( ), задание 2, п. 4.

ctiveCell.Offset (0,-1).Value = ”Запад”

End Sub

У данного макроса две особенности: 1- ячейкам присваиваются текстовые значения и 2 – использовано свойство Offset ( ). Свойству передаются два аргумента: отступ вдоль вертикали и отступ вдоль горизонтали. Эти целые числа указывают, на сколько ячеек следует сделать отступ от активной ячейки (или указанной через инструкцию Range) по строкам и столбцам соответственно.

Задание 3.

Параметры форматирования ячеек и диапазонов.

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

1) Для начала рассмотрим исключительно простой макрос, с помощью которого в качестве значения активной ячейке присваивается название шрифта для отображения данных в ячейке. Программный код макроса Formats ( ) приведен в листинге 9:

Листинг 9: Программный код макроса Formats ( )

Public Sub Formats ( )

ActiveCell.Value = ActiveCell.Font.Name

End Sub

Данный макрос свойству активной ячейки Value присваивает значение свойства Font.Name (название шрифта ячейки). Установите шрифт Arial для ячейки B3 (при этом ячейка B3 остается активной) и далее запустите макрос на выполнение. В результате значением ячейки B3 станет название шрифта Arial (см. рис. 16):

Рис. 16. Результат выполнения макроса Formats ( ), задание 3, п. 1

2) Несколько измените макрос и сохраните под новым именем Formats2 ( ). Видоизмененный макрос приводится в листинге 10:

Листинг 10: Программный код макроса Formats2 ( )

Public Sub Formats2 ( )

With Selection

.Value = .Font.Name

.Font.Bold = True

End With

End Sub

Данный макрос отличается от предыдущего макроса Formats ( ) тем, что значения ячеек устанавливаются в соответствии с названием шрифта ля выделенного диапазона ячеек, а для шрифта устанавливается полужирное начертание (свойству шрифта Bold присваивается значение True).

Для удобства в теле макроса использована конструкция With … End With. После ключевого слова With указана ссылка на объект Selection. Это позволяет не использовать данную ссылку в последующих инструкциях блока. Т.е. внутри блока всё, что начинается с точки, интерпретируется как ссылка, начинающаяся с инструкции Selection.

Для того чтобы проверить работу макроса, установите в ячейках диапазона B3:D5 шрифт Arial для отображения данных. Диапазон ячеек B3:D5 перед запуском макроса остается выделенным. Далее запустите на выполнение макрос Formats2 ( ). Результат выполнения макроса Formats2 ( ) представлен на рис. 17:

Рис. 17. Результат выполнения макроса Formats2 ( ), задание 3, п.2.