Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
объектная модель Excel.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
1.45 Mб
Скачать

Табуляция функции

Метод AutoFill позволяет решить задачу табуляции функции, т. е. вывода ее значений при изменении значения ее параметра. Например, требуется найти значения функции sin(x) при значении параметра х, изменяющемся от 0 до 2 с шагом 0,2. Это можно сделать следующим образом (листинг 5.52). Сначала в ячейку А1 ввести первый член арифметической последовательности требуемых значений параметра, а затем с помощью метода DataSeries построить всю последовательность вдоль столбца А. Потом определить как текущий диапазон с этими значениями. Диапазон, в котором расположатся соответствующие значению функции, разместится в столбце В, и его можно найти при помощи свойства Offset. Далее остается самая малость. В ячейку В1 ввести формулу =SIN(A1) для нахождения значения функции при значении параметра, равного 0, а затем скопировать данную формулу на весь диапазон, отводимый под искомые значения функции (рис. 5.8).

Sub DemoDataSeries()

Range("Al").Value = 0

Range("Al").DataSeries Rowcol:=xlColumns, _

Type:=xlDataSeriesLinear, _

Step:=0.2, _

Stop:=2

Dim rgn As Range

Set rgn = Range("A1").CurrentRegion

rgn.NumberFormat = "0.0"

Set rgn = rgn.Offset(0, 1)

Range("B1").Formula = "=SIN(A1)"

Range("B1").AutoFill Destination:=rgn, Type:=xlCopy

rgn.NumberFormat = "0.0000"

E nd Sub

Рис. 5.8. Табуляция функции

Заполнение диапазона по одному значению

Метод FillDown объекта Range заполняет сверху вниз диапазон на основе значений, расположенных в верхней строчке этого диапазона, причем данные значения копируются во все остальные ячейки диапазона.

Метод FillUp объекта Range заполняет снизу вверх диапазон на основе зна­чений, расположенных в нижней строчке этого диапазона.

Метод FillLeft объекта Range заполняет справа налево диапазон на основе значений, расположенных в крайнем правом столбце этого диапазона.

Метод FillRight объекта Range заполняет слева направо диапазон на основе значений, расположенных в крайнем левом столбце этого диапазона.

Например, в данной инструкции содержание ячейки А10 копируется в каждую из ячеек диапазона А1:А9:

Range("A1:A10").FillUp

Очистка ячейки

Методы Clear, ClearComments, ClearContents, ClearFormats и ClearNotes объекта Range очищают диапазон и комментарии, содержание, форматы и примечания. Например, следующая инструкция очищает диапазон A1:G37.

Range("Al:G37").Clear

Копирование, вырезание

и удаление данных из диапазона

Метод Сору объекта Range копирует диапазон в другой диапазон или в буфер обмена.

Copy(Destination)

Здесь Destination — необязательный параметр, определяющий диапазон, в который копируется данный диапазон. Если этот параметр опущен, то копирование происходит в буфер обмена. В данном примере диапазон A1:D4 активного рабочего листа копируется в диапазон Е5:Н8 рабочего листа Лист2.

Range("A1:D4").Copy Worksheets("Лист2").Range("E5")

Метод Сut объекта Range вырезает, т. е. копирует с удалением диапазон в указанный диапазон или в буфер обмена.

Cut(Destination)

Здесь Destination — необязательный параметр, задающий диапазон, в который копируется данный диапазон. Если этот параметр опущен, то диапазон копируется в буфер обмена. В данном примере диапазон A1:D4 рабочего листа Лист1 копируется с удалением в буфер обмена.

Worksheets("Лист1").Range("Al:D4").Cut

Метод Delete объекта Range удаляет диапазон. В данном примере удаляется третья строка активной рабочей страницы.

Rows(3).Delete