Заполнение диапазона по одному значению
Метод 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!