Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КИТ часть_1 (Лаб практикум) / КИТ_лр9_VBA_работа_с_ячейками.doc
Скачиваний:
44
Добавлен:
15.06.2014
Размер:
79.36 Кб
Скачать

7

Лабораторная работа №9 по курсу “Компьютерные информационные технологии” операции с ячейками рабочего листа excel в программах на языке vba

1 Ячейки как объекты. Основные способы ссылок на ячейки рабочего листа Excel

Ячейки и диапазоны ячеек в Excelявляютсяобъектами. Объекты имеютсвойства. Наиболее часто используемое свойство ячейки – ее значение. Другие свойства ячейки - размер и другие характеристики шрифта, выделение ячейки и т.д.

Простейший способ ссылки на значения отдельных ячеек – Range(ячейка).ValueилиCells(строка, столбец).Value.

Пример– Программа считывает число из ячейкиA1, возводит его в квадрат и выводит результат в ячейкуA3.

Sub yacheika1()

x = Range("A1").Value

y = x ^ 2

Range("A3").Value = y

End Sub

Это же можно реализовать и многими другими способами, например:

Sub yacheika1()

x = Cells(1, 1).Value

y = x ^ 2

Cells(3, 1).Value = y

End Sub

или

Sub yacheika1()

Cells(3, 1).Value = (Cells(1, 1).Value) ^ 2

End Sub

В качестве адресов ячеек могут использоваться не только конкретные значения, но и переменные.

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

Sub yacheika1()

adres_dannyh = InputBox("Укажите ячейку с исходными данными")

adres_rez = InputBox("Укажите ячейку для вывода результата")

x = Range(adres_dannyh).Value

y = x ^ 2

Range(adres_rez).Value = y

End Sub

Например, если требуется, чтобы число для возведения в квадрат считывалось из ячейки A5, а результат выводился в ячейкуB7, то в ответ на запрос "Укажите ячейку с исходными данными" необходимо ввестиA5, а на запрос "Укажите ячейку для вывода результата" –B7. БуквыAиB, конечно, должны быть латинскими.

Можно также ссылаться на ячейки, отсчитывая их не от левого верхнего угла рабочего листа (т.е. не от ячейки A1), аот некоторой заданной ячейки. Например, ссылкаRange(“E7”).Cells(3,2).Valueозначает ссылку на значение ячейкиF9, так как, если отсчитывать ячейки отE7, то ячейкаF9 находится в третьей строке и втором столбце от заданной ячейки.

2 Операции с диапазонами ячеек

2.1 Диапазоны ячеек как объекты. Основные способы ссылок на диапазоны ячеек рабочего листа Excel

Основные способы ссылок на диапазоны ячеек в Excelследующие:

  • ссылка на диапазон в форме Range(левый_верхний_угол, правый_нижний_угол), например:Range(“A2:E8”) илиRange(Cells(2,1),Cells(8,5));

  • ссылка на диапазон ячеек, выделенный в рабочем листе с помощью мыши: Selection;

  • ссылка на диапазон ячеек, заполненный данными (например, числами), начиная с ячейки, являющейся левым верхним углом этого диапазона: ячейка.CurrentRegion, гдеячейка– ссылка на левый верхний угол диапазона, например,Range(“E2”) илиCells(2,5).

Во многих случаях удобно, указав диапазон ячеек одним из этих трех способов, ссылаться на отдельные ячейки в этом диапазоне в форме Cells(строка, столбец). Номера строки и столбца в этом случае отсчитываются не от левого верхнего угла рабочего листа (т.е. не от ячейкиA1), аот левого верхнего угла заданного диапазона. Например, ссылкаRange(“A2:E8”).Cells(1,1).Valueозначает ссылку на значение ячейкиA2, а ссылкаRange(“A2:E8”).Cells(2,4).Value– ссылка на значение ячейкиD3 (так какD3 – ячейка во второй строке, третьем столбце диапазонаA2:E8).

Как и отдельные ячейки, диапазоны ячеек в Excelявляютсяобъектами. Они имеютсвойства. Простейшие из этих свойств – количество строк и столбцов в диапазоне ячеек. Простейшие примеры определения этих свойств:

x = Range(“A2:E8”).Rows.Count

y = Range(“A2:E8”).Columns.Count

Здесь переменная xполучит значение 7 (т.е. количествострокв диапазонеA2:E8), а переменнаяy– значение 5 (количество столбцов в диапазонеA2:E8).

x = Selection.Rows.Count

y = Selection.Columns.Count

Здесь переменная xполучит значение, равное количеству строк в диапазоне, выделенном с помощью мыши. Переменнаяyполучит значение, равное количеству столбцов в этом диапазоне.

x = Range(“A2”).CurrentRegion.Rows.Count

y = Range(“A2”).CurrentRegion.Columns.Count

Здесь переменная xполучит значение, равное количеству строк в диапазоне, заполненном данными (например, числами); ячейкаA2 – верхний левый угол этого диапазона. Переменнаяyполучит значение, равное количеству столбцов в этом диапазоне. Это же можно указать следующим образом:

x = Cells(2,1).CurrentRegion.Rows.Count

y = Cells(2,1).CurrentRegion.Columns.Count

Диапазоны ячеек можно присваивать переменным. Для этого используется следующий оператор: setпеременная = диапазон. Пример,

set d = Range(“A2:E8”)

После этого вместо ссылок на диапазон A2:E8 достаточно будет указать переменную d. Например, чтобы определить количество строк и столбцов в этом диапазоне, можно указать:

x = d.Rows.Count

y = d.Columns.Count

Важно понимать, что в операторе setпеременная = диапазонпеременной присваивается именно объект (диапазон ячеек), а не конкретное значение какой-либо ячейки.