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

Указания по выполнению

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?

  1. Дополните макрос возможностью закраски заполняемых ячеек зеленым цветом. Для этого после команды " Selection.Cells(l, i) = k" вставьте команду " Selection.Cells(l, i).Interior.Color = vbGreen"

  2. Вернитесь в Excel и проверьте работу макроса, выбрав ячейки В1:С1.

  3. Самостоятельно составьте макрос "Заполнение_колонки", который будет заполнять ячейки выделенной колонки последовательны­ми числами от 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 и выполните макрос. Каким образом теперь выглядит таблица? Текст макроса приведите в отчете по лаборатор­ной работе.

Контрольные вопросы и задания:

  1. Какой объект служит для обращения к выделенному диапазону ячеек?

  2. Как найти количество строк и колонок выделенного диапазона?

  3. Что означает запись "Selection.Cells(3, 1)"?

  4. Сколько раз выполнится команда "Selection.Cells(l, i) = k" внутри цикла "For i = 1 То N ... Next i"? Какие действия она выполняет?

  5. Что означает команда k = k + I?

  6. Объясните назначение команд составленного вами макроса.