
- •Министерство образования Российской Федерации
- •Введение
- •Общие сведения
- •Интерфейс пользователя vba
- •Лабораторная работа №1 знакомство со средой программирования excel vba
- •Указания по выполнению
- •Лабораторная работа №2 создание новых диалоговых окон на основе форм пользователя
- •Указания по выполнению
- •Лабораторная работа №3 команды выполнения действий по условиям
- •Указания по выполнению
- •Лабораторная работа №4 организация многозначных ветвлений в программе
- •Указания по выполнению
- •Указания по выполнению
- •Лабораторная работа №6 программирование вложенных циклов
- •Указания по выполнению
- •Лабораторная работа №7 вложенные команды выполнения действий по условиям
- •Указания по выполнению
- •Лабораторная работа №8 обработка строковых выражений в текстовом редакторе word
- •Указания по выполнению
- •Лабораторная работа №9 создание форм пользователя для задачи перевода единиц длины и массы в excel
- •Указания по выполнению
- •Лабораторная работа №10 создание приложения для расчета экономических показателей
- •Лабораторная работа №11 одномерные динамические массивы
- •Указания по выполнению
- •Лабораторная работа №12 работа со списками в excel
- •Указания по выполнению
- •Литература
- •Объекты excel vba
- •Операторы vba
- •Типы данных vba
- •Команды vba Описательные команды
- •Исполнительные команды
- •Функции работы с числами
- •Описание функций работы с числами:
- •Основные функции обработки строк
- •Описание функций обработки строк:
- •Варианты индивидуальных заданий к лабораторным работам
- •Варианты заданий к лабораторной работе №3
- •Варианты заданий к лабораторной работе №6
- •Варианты заданий к лабораторной работе №8
- •Варианты заданий к лабораторной работе №10 Вариант 1
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Варианты заданий к лабораторной работе №11
- •Варианты заданий к лабораторной работе №12
- •Оценка результатов выполнения индивидуальных заданий к лабораторным работам
- •Оглавление
Указания по выполнению
1. Составьте макрос, заполняющий выделенную строку ячеек последовательностью чисел 1,2, ... N, где N - количество ячеек. Например, на рис. 5.1 представлен результат выполнения макроса в случае, если выделен диапазон ячеек В2:Е2.
|
А |
В |
С |
D |
Е |
F |
1 |
|
|
|
|
|
|
2 |
|
1 |
2 |
3 |
4 |
|
3 |
|
|
|
|
|
|
Рис. 5.1. Заполнение программным путем диапазона В2:Е2
Для этого:
а) перейдите из Excel в среду программирования VBA;
б) добавьте модуль и в окне редактирования модуля наберите следующие команды:
Public Sub Заполнение_строки()
' В макросе используются следующие переменные:
' N— количество ячеек в строке,
' i - номер текущей колонки,
' k - число, записываемое в ячейку
Dim N As Integer, i As Integer, k As Integer
N = Selection.Columns.Count
k=l
For i = 1 To N
Selection.Cells(l,i) = k
k = k+l
Next i
End Sub
2. Вернитесь в Excel, выберите диапазон ячеек A2:D2 и выполните макрос. Ответьте на следующие вопросы:
Как выглядит таблица после работы макроса?
Чему будет равна переменная k перед записью в ячейку С2?
Какое значение переменной / соответствует ячейке с адресом В2?
Дополните макрос возможностью закраски заполняемых ячеек зеленым цветом. Для этого после команды " Selection.Cells(l, i) = k" вставьте команду " Selection.Cells(l, i).Interior.Color = vbGreen"
Вернитесь в Excel и проверьте работу макроса, выбрав ячейки В1:С1.
Самостоятельно составьте макрос "Заполнение_колонки", который будет заполнять ячейки выделенной колонки последовательными числами от 1 до М, где М - количество ячеек. Так, на рис. 5.2 представлен результат выполнения макроса в случае, если выделен диапазон ячеек В2:В5.
|
А |
В |
С |
1 |
|
|
|
2 |
|
1 |
|
3 |
|
2 |
|
4 |
|
3 |
|
5 |
|
4 |
|
6 |
|
|
|
Рис. 5.2. Заполнение программным путем диапазона В2:В5
При разработке макроса учтите, что:
Количество ячеек в столбце определяется количеством строк выбранного диапазона, поэтому вместо .Columns.Count используйте .Rows.Count.
В объекте Cells(i, j) i определяет № строки, a j — № колонки. Поскольку макрос должен работать только с одной колонкой, в цикле нужно обращаться к объекту Cells(i, 1).
6. Запишите составленный макрос в модуль, выделите в таблице диапазон ячеек ВЗ:В5 и выполните макрос. Каким образом теперь выглядит таблица? Текст макроса приведите в отчете по лабораторной работе.
Контрольные вопросы и задания:
Какой объект служит для обращения к выделенному диапазону ячеек?
Как найти количество строк и колонок выделенного диапазона?
Что означает запись "Selection.Cells(3, 1)"?
Сколько раз выполнится команда "Selection.Cells(l, i) = k" внутри цикла "For i = 1 То N ... Next i"? Какие действия она выполняет?
Что означает команда k = k + I?
Объясните назначение команд составленного вами макроса.