Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
ПЗ-10. Использование макросов и модулей VBA для других задач.Создадим новый лист Модули. Напишем макрос для заполнения столбца F листа геометрической прогрессией. Вызываем вкладкой Разработчик кнопку Начать запись, в окне Запись макроса задаем имя ГеомПрогр, нажимаем ОК и дальше выполняем действия для построения прогрессии: в ячейку F1 вводим число 2, нажимаем зеленую галочку, вызываем окно Прогрессия, в нем выбираем пункты: по столбцам, геометрическая, шаг 2, предельное значение 100000, кнопка ОК, прекращаем запись макроса. Наносим кнопку из панели Элементы управления формы (РазработчикàВставить) на лист и назначаем ей макрос ГеомПрогр, на кнопке пишем название: "Построить геометрическую прогрессию". Сразу же напишем макрос очистки столбца F: вызовем окно записи, присвоим имя Очистка, нажмем ОК и выделим диапазон F1:F20, нажмем кнопку Delete, щелкнем по ячейке G4, прекратим запись макроса. Нанесем новую кнопку рядом с кнопкой построения прогрессии, присвоим ей макрос Очистка, изменим надпись кнопки: "Очистить столбец F". Пощелкаем созданными кнопками. Нажмем сочетание клавиш Alt+F8 ( вызов окна Макросы), выберем макрос Очистка, нажмем кнопку Войти. Появится окно с модулем VBA, где активной будет запись программы Очистка (Sub Очистка()). В этой программе перечислены операторы, которые мы задавали при записи макроса своими действиями. Sub Очистка() ' Очистка Макрос ' Макрос записан... Range("F1:F20").Select Selection.Clear Range("G4").Select End Sub Можно, при необходимости, изменить действия макроса (программы) прямо в данном модуле. Нанесем на лист еще одну кнопку и присвоим ей макрос Возврат. Затем перейдем на титульный лист, напишем макрос ОткрМодули для открытия листа Модули и присвоим его кнопке открытия. Теперь на листе Модули сделаем так, чтобы при нажатии специальной кнопки на лист помещалась новая кнопка, на ней появлялась надпись "новая кнопка", а в ячейке А3 производился подсчет количества созданных новых кнопок. Для подсчета новых кнопок объявим переменную n% (объявление в качестве целого числа) в области объявления переменных, там же поместим декларацию "Option Explicit", которая будет инициировать проверку описания встречаемых в программе переменных. В программу макроса открытия листа Модули добавим операторы присвоения нуля переменной n и записи этого значения в ячейку А3. Option Explicit Dim n% Sub ОткрМодули() ' Функция Макрос' Макрос записан... n = 0 ActiveWindow.ScrollWorkbookTabs Position:=xlLast Sheets(" Модули ").Select Range("A3").Select ActiveCell.FormulaR1C1 = n ' Запись 0 в ячейку А3 End Sub Запишем макрос (КнопкаAdd - его программа приведена ниже), выполнив все действия по добавлению новой кнопки и изменению надписи на ней. Присвоим этот макрос кнопке с названием "Добавить новую кнопку!". Щелчки по ней будут добавлять на лист новую кнопку. Однако необходимо вести подсчет новых (добавленных) кнопок. Для этого в программе макроса КнопкаAdd необходимо значение переменной n увеличивать на единицу при добавлении каждой новой кнопки. Поэтому в программе макроса КнопкаAdd необходимо добавить операторы (ниже в распечатке программы они находятся в конце и выделены полужирным курсивом). Sub КнопкаAdd() ' КнопкаAdd Макрос ' Макрос записан.... ActiveSheet.Buttons.Add(399.75, 110.25, 127.5, 29.25).Select Selection.Characters.Text = "новая кнопка" With Selection.Characters(Start:=1, Length:=12).Font .Name = "Arial Cyr" .FontStyle = "обычный" .Size = 12 … .ColorIndex = xlAutomatic End With n = n + 1 Range("A3").Select ActiveCell.FormulaR1C1 = n End Sub Обнуление переменной n будет производиться при открытии листа Модули (распечатка программы ОткрМодули приведена выше). Щелкая по кнопке "Добавить новую кнопку!" будем на листе добавлять кнопки с надписью "новая кнопка" одну над другой – если не вести учет в ячейке А3, то не будем знать, сколько всего добавлено кнопок.
|
||
Последнее изменение этой страницы: 2017-01-20; просмотров: 323; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.230.107 (0.004 с.) |