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




Public Sub SetValue2 ()

Selection.Value=1

End Sub

Дело в том, что если выделить диапазон ячеек и запустить макрос SetValue (), то единичное значение будет присвоено только левой верхней ячейке диапазона (проверьте сами это утверждение, выделив любой диапазон ячеек и выполнив запуск макроса SetValue ()). При использовании макроса SetValue2 () единицами заполняется весь диапазон.

Попробуйте самостоятельно выделить любой диапазон ячеек (можно вручную или с помощью запуска рассмотренных выше макросов RangeSelect1-4 (), а после выделения на экране соответствующего диапазона ячеек запустить макрос SetValue2 (). Примерный вариант выполнения задания приведен на рис. 13:

 

Рис. 13. Результат выполнения задания 2, п. 1 – 2.

Примечание 2: также можно использовать один макрос, который и выделяет указанные ячейки и заполняет их единицами. В приведенном на рис. 13 примере использован макрос:

Public Sub SetValue2()

Range("A1:C4,E4:G8,A9:C12,E10:G13").Select

Selection.Value = 1

End Sub

3) Теперь заполните ячейки С3:D5 значениями на 1 большими, чем значение в ячейке A1. Код данного макроса приведен в листинге 7:

Листинг 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 = ”Север”

Рис. 15. Результат выполнения макроса SetValue4 (), задание 2, п. 4.
ActiveCell.Offset (0,-1).Value = ”Запад”

End Sub

 

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

Задание 3.

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

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

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



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: