Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа_с_ячейками_объект_R...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
278.53 Кб
Скачать

15.2.5. Copy, Cut, PasteSpecial - буфер обмена

Выше мы уже рассматривали команды для работы с буфером обмена в MS Excel. Метод Copy копирует содержимое диапазона в буфер обмена, Cut - вырезает, PasteSpecial осуществляет специальную вставку.

Как ни странно, объект Range не поддерживает метод Paste, осуществляющий обычную вставку, однако, этот метод поддерживает объект Worksheet.

15.2.6. Delete - удалить диапазон

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

15.2.7. Merge, UnMerge - объединение ячеек

15-03-Range Merge.xlsm - пример к п. 15.2.7.

Merge позволяет создать одну объединенную ячейку из заданного диапазона.

UnMerge разбивает объединенную ячейку на обычные ячейки.

Объединенные ячейки удобно использовать для хранения в них названий таблиц.

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

'Заполняем область C3:L2

'случайными целыми числами

For i = 1 To 10

For j = 1 To 10

ActiveSheet.Cells(i + 2, j + 2) = _

Int(Rnd * 100)

Next j

Next i

'Выравниваем размер столбцов

ActiveSheet.Range("C:L").Columns.AutoFit

'Записываем название таблицы

'в ячейку верхней строчки

Range("C2") = "Название таблицы"

'Объединяем ячейки над таблицей

Range("C2:L2").Merge

Листинг 15.13. Оформление таблиц с использованием объединения ячеек (htmltxt)

Рис. 15.2.  Название таблицы в объединенной ячейке

15.2.8. Select - выделение ячейки

15-04-Range Select.xlsm - пример к п. 7.7.2.8.

Выделяет ячейки или ячейку. Выделив ячейку, к ней можно обращаться, используя объект Selection. Так же этот объект можно использовать для работы с ячейками, предварительно выделенными пользователями.

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

Dim obj_Range As Range

Dim num_Sum

'Обращаемся к каждой ячейке

'в выделенной области

For Each obj_Range In Selection.Cells

num_Sum = num_Sum + Val(obj_Range)

Next

MsgBox ("Сумма выделенных ячеек: " & _

num_Sum)

15.3. Свойства Range

15.3.1. Address - адрес ячейки в формате a1

15-05-Range Address.xlsm - пример к п. 15.3.1.

Возвращает строку, представляющую собой адрес ячейки в формате A1. Адрес выводится в абсолютном виде - снабжается знаками $.

Листинг 15.15 позволяет, задав адрес ячейки в виде R1C1, вывести ее адрес в формате A1.

Dim num_Row

Dim num_Col

Dim MyRange As Range

num_Row = Val(InputBox("Введите столбец"))

num_Col = Val(InputBox("Введите строку"))

Set MyRange = _

ActiveSheet.Cells(num_Row, num_Col)

MsgBox (MyRange.Address + _

" - имя ячейки " & _

" с индексами " & num_Row & " и " & num_Col)

Листинг 15.15. Вывод адреса ячейки в формате A1 (htmltxt)