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



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

Метод Fil lU p объекта 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 — необязательный параметр, задающий диапазон, в который копируется данный диапазон. Если этот параметр опущен, то диапазон копируется в буфер обмена. В данном примере диапазон A 1: D 4 рабочего листа Лист1 копируется с удалением в буфер обмена.

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

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

Rows(3).Delete

Специальная вставка

Метод PasteSpecial объекта Range производит специальную вставку ( special paste ) из буфера обмена. Этот метод программирует выполнение на рабочем листе команды Правка►Специальная вставка.

expression.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)

Здесь:

r expression — объект типа Range, задающий диапазон или ссылку на верхнюю левую ячейку диапазона, в который вставляются данные из буфера обмена;

r Paste — необязательный параметр. Определяет ту часть содержания буфера обмена, которая должна быть вставлена в диапазон. Допустимыми значениями являются следующие постоянные xlPasteType: xlPasteAll, xlPasteAllExceptBorders, xlPasteColumnWidths, xlPasteComments, xlPasteFormats, xlPasteFormulas, xlPasteFormulasAndNumberFormats, xlPasteValidation, xlPasteValues и xlPasteValuesAndNumberFormats;

r Operation — необязательный параметр. Определяет операцию над вставляемыми данными и теми, которые содержатся в диапазоне. Допустимыми значениями являются следующие постоянные XIPasteSpecialOperation:

xlPasteSpecialOperationAdd, xlPasteSpecialOperationDivide, xlPasteSpecialOperationMultiply, xlPasteSpecialOperationNone и xlPasteSpecialOperationSubtract;

r SkipBlanks — необязательный параметр. Принимает логические значе­ния и устанавливает, учитываются ли пустые ячейки при вставке;

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

В приведенном ниже коде данные из диапазона С1:С5 рабочего листа Лист1 вставляются в диапазон D 1: D 5 того же листа, причем они не заменяют уже существующие данные, а прибавляют к ним данные из диапазона С1:С5 .

With Worksheets("Лист1") .Range("C1:C5").Copy

.Range("D1:D5")

.PasteSpecial Operation:=xlPasteSpecialOperationAdd

End With

Тот же результат можно получить при помощи следующих инструкций, где метод применяется не ко всему диапазону, а только к его верхней левой ячейке:

With Worksheets("Лист1")

.Range("C1:C5").Copy

.Range("Dl").PasteSpecial Operation:=xlPasteSpecialOperationAdd

End With

Следующий код копирует данные из диапазона А1:С1 в буфер обмена и затем вставляет только значения в диапазон А5:С5.

Range("A1:C1").Сору

Range("A5").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone


Дата добавления: 2019-02-12; просмотров: 144; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!