Entirerow vba excel описание
Продолжаем наш разговор про объект Excel Range , начатый в первой части. Разберём ещё несколько типовых задач и одну развлекательную. Кстати, в процессе написания второй части я дополнил и расширил первую, поэтому рекомендую её посмотреть ещё раз.
Примеры кода
просмотреть
Типовые задачи
Перебор ячеек диапазона (вариант 4)
Для коллекции добавил четвёртый вариант перебора ячеек. Как видите, можно выбирать, как перебирается диапазон — по столбцам или по строкам. Обратите внимание на использование свойства коллекции Cells . Не путайте: свойство Cells рабочего листа содержит все ячейки листа, а свойство Cells диапазона ( Range ) содержит ячейки только этого диапазона. В данном случае мы получаем все ячейки столбца или строки.
Должен вас предупредить, что код, который вы видите в этом цикле статей — это код, написанный для целей демонстрации работы с объектной моделью Excel. Тут нет объявлений переменных, обработки ошибок и проверки условий, так как я специально минимизирую программы, пытаясь акцентировать ваше внимание целиком на обсуждаемом предмете — объекте Range .
Работа с текущей областью
Excel умеет автоматически определять текущую область вокруг активной ячейки. Соответствующая команда на листе вызывается через Ctrl + A . Через ActiveCell мы посредством свойства Worksheet легко выходим на лист текущей ячейки, а уже через него можем эксплуатировать свойство UsedRange , которое и является ссылкой на Range текущей области. Чтобы понять, какой диапазон мы получили, мы меняем цвет ячеек. Функция GetRandomColor не является стандартной, она определена в модуле файла примера.
Определение границ текущей области
Демонстрируем определение левого верхнего и правого нижнего углов диапазона текущей области. С левым верхним углом всё просто, так как координаты этой ячейки всегда доступны через свойства Row и Column объекта Range (не путать с коллекциями Rows и Columns !). А вот для определения второго угла приходится использовать конструкцию вида .Rows(.Rows.Count).Row , где .Rows.Count — количество строк в диапазоне UsedRange , .Rows(.Rows.Count) — это мы получили последнюю строку, и уже для этого диапазона забираем из свойства Row координату строки. Со столбцом — по аналогии. Также обратите внимание на использование оператора With . Как видите, оператор With , помимо сокращения кода, также позволяет отказаться от объявления отдельной объектной переменной через оператор Set , что очень удобно.
Выделение столбцов / строк текущей области
Тут нет ничего нового, мы всё это обсудили в предыдущем примере. Мы получаем ссылки на столбцы / строки, меняя их цвет для контроля результата работы кода.
Сброс форматирования диапазона
Для возвращения диапазона к каноническому стерильному состоянию очень просто и удобно использовать свойство Style , и присвоить ему имя стиля «Normal». Интересно, что все остальные стандартные стили в локализованном офисе имеют русские имена, а у этого стиля оставили англоязычное имя, что неплохо.
Поиск последней строки столбца (вариант 1)
Range имеет 2 свойства EntireColumn и EntireRow , возвращающие столбцы / строки, на которых расположился ваш диапазон, но возвращают их ЦЕЛИКОМ. То есть, если вы настроили диапазон на D5 , то Range(«D5»).EntireColumn вернёт вам ссылку на D:D , а EntireRow — на 5:5 .
Идём далее — свойство End возвращает вам ближайшую ячейку в определенном направлении, стоящую на границе непрерывного диапазона с данными. Как это работает вы можете увидеть, нажимая на листе комбинации клавиш Ctrl + стрелки . Кстати, это одна из самых полезных горячих клавиш в Excel. Направление задаётся стандартными константами xlUp , xlDown , xlToRight , xlToLeft .
Классическая задача у Excel программиста — определить, где кончается таблица или, в данном случае, конкретный столбец. Идея состоит в том, чтобы встать на последнюю ячейку столбца (строка 1048576) и, стоя в этой ячейке, перейти по Ctrl + стрелка вверх (что на языке VBA — End(xlUp) ).
Поиск последней строки столбца (вариант 2)
Ещё один вариант.
Поиск «последней» ячейки листа
Тут показывается, как найти на листе ячейку, ниже и правее которой находятся только пустые ячейки. Соответственно данные надо искать в диапазоне от A1 до этой ячейки. На эту ячейку можно перейти через Ctrl + End . Как этим воспользоваться в VBA показано ниже:
Разбор клипо-генератора
Ну, и в качестве развлечения и разрядки взгляните на код клипо-генератора, который генерирует цветные квадраты в заданных границах экрана. На некоторых это оказывает умиротворяющий эффект 🙂
По нашей теме в коде обращает на себя внимание использование свойства ReSize объекта Range . Как не трудно догадаться, свойство расширяет (усекает) текущий диапазон до указанных границ, при этом левый верхний угол диапазона сохраняет свои координаты. А также посмотрите на 2 последние строчки кода, реализующие очистку экрана. Там весьма показательно использован каскад свойств End и Offset .
Объекты Range и Selection
В иерархии Excel объект Range (диапазон) идет сразу после объекта worksheet. Объект Range является одним из ключевых объектов VBA. Объект Selection (выбор) возникает в VBA двояко — либо как результат работы метода Select, либо при вызове свойства selection. Тип получаемого объекта зависит от типа выделенного объекта. Чаще всего объект Selection принадлежит классу Range и при работе с ним можно использовать свойства и методы объекта Range. Интересной особенностью объектов Range и selection является то, что они не являются элементами никакого семейства объектов.
Адресация ячеек
При работе с объектом Range необходимо помнить, как в Excel ссылаются на ячейку рабочего листа. Имеются два способа ссылки на ячейки рабочего листа: относительная адресация (т. е. когда начало координат, задающее нумерацию строк и столбцов, связывается с объектом, вызвавшим Range) и абсолютная адресация.
Имя ячейки состоит из имени столбца (их 256 — А, В, . Z, АВ, . HZ, IA, . IV) и номера (1, . 16384).
Адресация задается индексом строки и индексом столбца. Например, R1C1, R2C3
Признаком абсолютной адресации является знак «$», предшествующий имени строки (абсолютной адресации на строку) или столбца (абсолютной адресации на столбец). Например, $А10, А$10 и $А$10 задают абсолютную адресацию на столбец А, строку 10 и ячейку А10 соответственно
Указывается смещение по отношению к активной ячейке. Смещение приводится в квадратных скобках, причем знак указывает на направление смещения. Например, если активной ячейкой является касз, то R[i]C[-1] дает ссылку на ячейку кзс2
Адресация ячейки рабочего листа является лишь частью полного адреса ячейки, который в общем случае включает имя рабочего листа и адрес книги. При задании полного адреса за именем листа следует знак «!», а адрес книги заключается в скобки. Например,
В первой строке данного примера дана относительная ссылка на ячейку AI активного рабочего листа, во второй — на ячейку AI рабочего листа листа активной книги, а в третьей на ячейку AI рабочего листа лист2 книги моякнига-xls текущего рабочего каталога.
Задание групп строк и столбцов с помощью объекта Range
Если в диапазоне указываются только имена столбцов или строк, то объект Range задает диапазон, состоящий из указанных столбцов или строк. Например, Range («А: с») задает диапазон, состоящий из столбцов А, в и с, а Range <«2: 2») — из второй строки. Другим способом работы со строками и столбцами являются методы ROWS (строки) и Columns (столбцы), возвращающие коллекции строк и столбцов. Например, столбцом А является columns (1), а второй строкой — ROWS (2).
Связь объекта Range и свойства Cells
Так как ячейка является частным случаем диапазона, состоящим только из единственной ячейки, объект Range также позволяет работать с ней. Объект cells (ячейки) — это альтернативный способ работы с ячейкой. Например, ячейка А2 как объект описывается Range («A2») или cells (1,2). В свою очередь объект ceils, вкладываясь в Range, также позволяет записывать диапа зон в альтернативном виде, который иногда удобен для работы, а именно,
Range («А2:C3») И Range(Cells(1,2), Cells(3,3))
Определяют один и тот же диапазон.
Свойства и методы объекта Range
Объект Range позволяет сочетать гибкость VBA и мощь рабочего листа Excel. Более 400 встроенных функций рабочего листа существенно упрощают и делают более наглядным программирование на VBA.
Далее приводятся наиболее часто используемые свойства и методы объекта
Перечислим основные свойства объекта Range.
Возвращает значение из ячейки или в ячейки диапазона. В данном примере переменной х присваивается значение из ячейки C1 :
х = Range («C1») .Value В следующем примере в диапазон AI : В2 введена 1 :
Range («A1:B2») .Value = 1
Возвращает имя диапазона. В данном примере диапазону А1:В2 присваивается имя итоги:
Range ( «Al :B2») .Name = «Итоги»
Возвращает число объектов в наборе. В данном примере переменной х присваивается значение, равное числу строк диапазона AI : В2 :
х = Range ( «Al :B2») .Rows . Count
Возвращает число строк текущего диапазона. Текущим является диапазон, ограниченный пустыми строками и столбцами и содержащий данный элемент. В следующем примере переменной у присваивается значение, равное числу строк в текущем диапазоне, содержащем ячейку AI :
у = Range ( «Al» ). CurrentRegion. Rows . Count
Позволяет переносить текст при вводе в диапазон. Допустимые значения True и False. В следующем примере в ячейку В2 вводится текст длинный текст и в этой ; ячейке устанавливается режим ввода текста с переносом: With Range («B2») .Value = «Длинный текст» .WrapText = True End With
Возвращает столбец и строку соответственно. В данном примере очищается содержимое строки и выделяется столбец с активной ячейкой:
ActiveCell . EntireRow. Clear ActiveCell .EntireColumn. Select
Возвращает ширину столбцов и высоту строк диапазона соответственно
Возвращает объект comment (примечание), который связан с левым верхним углом диапазона при отображении на экране. Объект comment является элементом семейства comments. Метод AddComment, примененный к диапазону, создает новое примечание. Среди методов объекта comment отметим только метод Text, который задает текст, выводимый в примечании. Синтаксис:
Text (Text, Start, Overwrite)
.Text Text:= «Чрезвычайно важно!» & Chr(10) & «Про это никак нельзя забыть ! «
.Visible = True End With
Рис. 2.1. Пример отображения примечания на рабочем листе
Возвращает объект Font (шрифт). Объект Font имеет следующие свойства:
Например, в следующем примере устанавливается для диапазона AI : в2 полужирный шрифт, красного цвета и с высотой символов 1 4 :
With Range («A1:B2»).Font
Возвращает формулу в формате Al. Например, следующая инструкция вводит в ячейку с2 формулу =$А$4+$А$ю:
Range («C2») . Formula = «=$А$4+$А$10»
Возвращает формулу диапазона в формате А1. В отличие от обыкновенной формулы рабочего листа, формула диапазона вводится на рабочем листе не посредством нажатия на клавишу , а с помощью комбинации клавиш + + . Следующая инструкция вводит в диапазон Е!:ЕЗ формулу <=Sum(Al:A3*Bl:B3) >:
Range ( «El :E3») .FormulaArray = «=Sum(Al:A3*Bl:B3) »
Допустимые значения: True (формула спрятана, если рабочий лист или книга защищены) и False (в противном случае). Например, следующая инструкция скрывает формулы в столбце А: Columns («A») . FormulaH >
Возвращает неанглоязычные (местные) формулы в формате А1. Например, следующая инструкция вводит в ячейку В2 формулу =СУММ(С1:С4):
Range(«B2»). FormulaLocal = «=СУММ (С1:С4) »
Возвращает формулу в формате R1C1. Например,
Range («Bl») . FormulaRlCl = «=SQRT (R3C2 ) »
Возвращает неанглоязычные формулы в формате R1C1
Возвращает содержание диапазона в текстовом формате
Горизонтальное выравнивание. Допустимые значения:
Вертикальное выравнивание. Допустимые значения:
Ориентация. Допускается либо угол поворота текста в градусах от —90° до 90°, либо одно из допустимых значений:
Допустимые значения: True (автоматическое изменение шрифта так, чтобы текст помещался в ячейку) и False (в противном случае)
Ниже приведены наиболее часто используемые методы объекта Range.
Возвращает адрес ячейки.
Address (rowAbsolute, coluimAbsolute, referenceStyle, external, relativeTo)
xiR1c1, если используется значение X1A1 или аргумент опущен, то возвращается ссылка в виде формата А1 П external — допустимы два значения True и False, если используется значение False или аргумент опущен, то возвращается относительная ссылка
relativeTo — В случае, если rowAbsoiute и СolumnAbsoiute равны False, a referenceStyle X1R1C1, то данный аргумент определяет начальную ячейку диапазона, относительно которой производится адресация Следующий пример показывает различные результаты адресации.
‘ В диалоговом окне отображается адрес $А1 ‘
Clear, ClearComments , Clear Contents, ClearFormats
Метод clear очищает диапазон. В следующем примере очищается диапазон Al :G37 . Range («A1:G37») .Clear
Методы ClearComments, ClearContents, ClearFormats и ClearNotes очищают В диапазоне
Автоматически настраивает ширину столбца и высоту строки
комментарии, содержание, форматы и примечания соответственно.
Копирует диапазон в другой диапазон или в буфер обмена.
Worksheets («Лист1» ) . Range ( «А1 : D4 » ) .Сору destination :=Worksheets («Лист2») .Range («E5»)
Копирует диапазон с удалением в указанный диапазон или в буфер обмена,
Worksheets ( «Лист1 » ) . Range ( «А1 : D4 » ) . Cut
Удаляет диапазон. В данном примере удаляется третья строка активной рабочей страницы:
Возвращают соответственно семейства столбцов и строк, из которых состоит диапазон. В следующем примере переменным i и j присваиваются значения, равные количеству столбцов и строк в выделенном диапазоне соответственно:
i = Selection. Columns . Count j = Selection. Rows . Count
Вставка ячейки или диапазона ячеек. В следующем примере вставляется новая строка перед четвертой строкой рабочего листа Лист1:
Worksheets ( «Лист1» ) . Rows (4 ) .Insert
Возвращает диапазон, смещенный относительно данного на величины, специфицированные в аргументах.
Of fset (rowOffset, columnOf f set )
ActiveCell.Offset (rowOf fset :=3, columnOf fset : =-2) .Activate
Специальная вставка из буфера обмена.
BasteSpecial (paste, operation, skipBlanks, transpose)
В приведенном ниже примере данные из диапазона C1:C5 рабочего листа лист1 вставляются в диапазон D1 : D5 того же листа, причем они не заменяют уже существующие данные в диапазоне D1:D5, а прибавляются к ним данные из диапазона C1 : С5 :
Worksheets ( «Лист1 » ) . Range ( «С1 : С5 » ) . Сору Worksheets («Лист1») .Range («D1: D5») . PasteSpecial operation : =xlAdd
Метод PasteSpecial программирует выполнение на рабочем листе команды Правка, Специальная вставка (Edit, Paste Special). Аргументы метода PasteSpecial соответствуют установкам диалогового окна Специальная вставка (Paste Special), отображаемого с помощью этой команды (рис. 3.2)
Рис. 2.2. Диалоговое окно Специальная вставка
Добавляет примечание к диапазону.
Range ( «А! » ) . AddComment «Внимание!»
Когда тот или иной физик использует понятие «физический вакуум», он либо не понимает абсурдности этого термина, либо лукавит, являясь скрытым или явным приверженцем релятивистской идеологии.
Понять абсурдность этого понятия легче всего обратившись к истокам его возникновения. Рождено оно было Полем Дираком в 1930-х, когда стало ясно, что отрицание эфира в чистом виде, как это делал великий математик, но посредственный физик Анри Пуанкаре, уже нельзя. Слишком много фактов противоречит этому.
Для защиты релятивизма Поль Дирак ввел афизическое и алогичное понятие отрицательной энергии, а затем и существование «моря» двух компенсирующих друг друга энергий в вакууме — положительной и отрицательной, а также «моря» компенсирующих друг друга частиц — виртуальных (то есть кажущихся) электронов и позитронов в вакууме.
Однако такая постановка является внутренне противоречивой (виртуальные частицы ненаблюдаемы и их по произволу можно считать в одном случае отсутствующими, а в другом — присутствующими) и противоречащей релятивизму (то есть отрицанию эфира, так как при наличии таких частиц в вакууме релятивизм уже просто невозможен). Подробнее читайте в FAQ по эфирной физике.
отфильтровать несколько критериев с помощью excel vba
у меня есть 8 переменных в столбце A, 1,2,3,4,5 и A, B, C.
моя цель-отфильтровать A, B, C и отобразить только 1-5.
Я могу сделать это, используя следующий код:
но что делает код, это фильтрует переменные от 1 до 5 и отображает их.
Я буду делать противоположное, но давать тот же результат, отфильтровывая A, B, C и показывая переменные от 1 до 5
Я пробовал этот код:
но это не работать.
почему я не могу использовать этот код ?
это дает эту ошибку:
Ошибка времени выполнения 1004 метод автофильтра класса диапазона не удалось
как я могу выполнить это?
5 ответов
я думаю (из экспериментов — MSDN здесь бесполезно), что нет прямого способа сделать это. Настройка Criteria1 до Array эквивалентно использованию флажков в раскрывающемся списке — как вы говорите, он будет фильтровать только список на основе элементов, соответствующих одному из них в массиве.
интересно, если у вас есть буквальные значения «<>A» и «<>B» в списке и фильтре на этих макрос рекордер придумывает
, которая работает. Но если вы имеют буквальное значение «<>C» а также, и вы фильтруете для всех трех (используя галочки) во время записи макроса, макрос рекордер реплицирует именно ваш код, который затем терпит неудачу с ошибкой. Думаю, я бы назвал это ошибкой — есть фильтры, которые вы можете сделать, используя пользовательский интерфейс, который вы не можете сделать с VBA.
в любом случае, вернемся к вашей проблеме. Можно фильтровать значения, не равные некоторым критериям, но только до двух значений, которые не работают для вас:
там возможны ли несколько обходных путей в зависимости от точной проблемы:
- используйте «вспомогательный столбец» с формулой в столбце B, а затем отфильтруйте это — например =ISNUMBER(A2) или фильтр TRUE
- если вы не можете добавить столбец, используйте автофильтр с Criteria1:=»>-65535″ (или подходящее число ниже, чем вы ожидаете), которое будет отфильтровывать нечисловые значения-предполагая, что это то, что вы хотите
- напишите суб VBA, чтобы скрыть строки (не совсем то же самое, что автофильтр, но это может быть достаточно, в зависимости от ваших потребностей).
Я не нашел никакого решения в интернете, поэтому я реализовал его.
код Автофильтра с критериями тогда
фактически, метод ConstructFilterValueArray () (не функция) получает все различные значения, найденные в определенном столбце, и удаляет все значения, присутствующие в последнем аргументе.
код VBA этого метода
этот код, безусловно, может быть улучшен при возврате массива строк, но работе с Массив в VBA непростой.
Внимание: этот код работает, только если вы определяете лист с именем X, потому что параметр CopyToRange, используемый в AdvancedFilter () нужен диапазон Excel !
жаль, что Microfsoft не реализовал это решение, добавив просто новое перечисление как xlNotFilterValues ! . или xlRegexMatch !
альтернатива с помощью функции фильтра VBA
в качестве инновационной альтернативы недавнему ответу @schlebe я попытался использовать Filter функция интегрирована в VBA, позволяющего из данную строку поиска третий аргумент в false. Все!—11—>»негативный» строки поиска (например, A, B, C) определяются в массиве. Я читаю критерии в столбце A в массив полей данных и в основном выполняю последующее фильтрация (A-C) для фильтрации этих элементов.
Analyst Cave
Excel VBA Range Tutorial
The VBA Range Object
The Excel Range Object is an object in Excel VBA that represents a cell, row, column, a selection of cells or a 3 dimensional range. The Excel Range is also a Worksheet property that returns a subset of its cells.
Worksheet Range
The Range is a Worksheet property which allows you to select any subset of cells, rows, columns etc.
Select a cell or Range of cells using the Select method. It will be visibly marked in Excel: Select a single cell using the Range object
Working with Range variables
The Range is a separate object variable and can be declared as other variables. As the VBA Range is an object you need to use the Set statement:
The Range object defaults to your ActiveWorksheet. So beware as depending on your ActiveWorksheet the Range object will return values local to your worksheet:
You might want to define the Worksheet reference by Range if you want your reference values from a specifc Worksheet:
Range properties
The Range object contains a variety of properties with the main one being it’s Value and an the second one being its Formula.
A Range Value is the evaluated property of a cell or a range of cells. For example a cell with the formula =10+20 has an evaluated value of 20 .
A Range Formula is the formula provided in the cell or range of cells. For example a cell with a formula of =10+20 will have the same Formula property.
Other Range properties include:
Work in progress
Worksheet Cells
A Worksheet Cells property is similar to the Range property but allows you to obtain only a SINGLE CELL, based on its row and column index. Numbering starts at 1: Select a single Cell using the Cells property
The Cells property is in fact a Range object not a separate data type.
Excel facilitates a Cells function that allows you to obtain a cell from within the ActiveSheet, current top-most worksheet.
Cells are Ranges which means they are not a separate data type:
Range Rows and Columns
As we all know an Excel Worksheet is divided into Rows and Columns. The Excel VBA Range object allows you to select single or multiple rows as well as single or multiple columns. There are a couple of ways to obtain Worksheet rows in VBA:
Getting an entire row or column
Range EntireRow property To get and entire row of a specified Range you need to use the EntireRow property. Although, the function’s parameters suggest taking both a RowIndex and ColumnIndex it is enough just to provide the row number. Row indexing starts at 1.
Range EntireColumn property To get and entire column of a specified Range you need to use the EntireColumn property. Although, the function’s parameters suggest taking both a RowIndex and ColumnIndex it is enough just to provide the column number. Column indexing starts at 1.
Get a row/column of a specified range
Range Rows function If you want to get a certain row within a Range simply use the Rows property of the Worksheet. Although, the function’s parameters suggest taking both a RowIndex and ColumnIndex it is enough just to provide the row number. Row indexing starts at 1.
Range Columns property Similarly you can use the Columns function to obtain any single column within a Range. Although, the function’s parameters suggest taking both a RowIndex and ColumnIndex actually the first argument you provide will be the column index. Column indexing starts at 1.
To get a range of rows/columns you need to use the Range function like so:
Get row/column of specified range
The above approach assumed you want to obtain only rows/columns from the ActiveSheet – the visible and top-most Worksheet. Usually however, you will want to obtain rows or columns of an existing Range. Similarly as with the Worksheet Range property, any Range facilitates the Rows and Columns property.
Getting a Ranges first row/column number
As >Row and Column property which provide you with the number of the Ranges first row and column.
Converting Column number to Excel Column
This is an often question that turns up – how to convert a column number to a string e.g. 100 to “CV”.
Range Cut/Copy/Paste
Cutting and pasting rows is generally a bad practice which I heavily discourage as this is a practice that is moments can be heavily cpu-intensive and often is unaccounted for.
Copy function
Range copy function The Copy function works on a single cell, subset of cell or subset of rows/columns.
The Copy function can also be executed without an argument. It then copies the Range to the Windows Clipboard for later Pasting.
Cut function
Range Cut function The Cut function, similarly as the Copy function, cuts single cells, ranges of cells or rows/columns.
The Cut function can be executed without arguments. It will then cut the contents of the Range and copy it to the Windows Clipboard for pasting.
PasteSpecial function
Range PasteSpecial function The Range PasteSpecial function works only when preceded with either the Copy or Cut Range functions. It pastes the Range (or other data) within the Clipboard to the Range on which it was executed.
Syntax
The PasteSpecial function has the following syntax:
Parameters
Paste
The part of the Range which is to be pasted. This parameter can have the following values:
Parameter | Constant | Description |
---|---|---|
xlPasteSpecialOperationAdd | 2 | Copied data will be added with the value in the destination cell. |
xlPasteSpecialOperationDivide | 5 | Copied data will be divided with the value in the destination cell. |
xlPasteSpecialOperationMultiply | 4 | Copied data will be multiplied with the value in the destination cell. |
xlPasteSpecialOperationNone | -4142 | No calculation will be done in the paste operation. |
xlPasteSpecialOperationSubtract | 3 | Copied data will be subtracted with the value in the destination cell. |
Operation
The paste operation e.g. paste all, only formatting, only values, etc. This can have one of the following values:
Name | Constant | Description |
---|---|---|
xlPasteAll | -4104 | Everything will be pasted. |
xlPasteAllExceptBorders | 7 | Everything except borders will be pasted. |
xlPasteAllMergingConditionalFormats | 14 | Everything will be pasted and conditional formats will be merged. |
xlPasteAllUsingSourceTheme | 13 | Everything will be pasted using the source theme. |
xlPasteColumnWidths | 8 | Copied column width is pasted. |
xlPasteComments | -4144 | Comments are pasted. |
xlPasteFormats | -4122 | Copied source format is pasted. |
xlPasteFormulas | -4123 | Formulas are pasted. |
xlPasteFormulasAndNumberFormats | 11 | Formulas and Number formats are pasted. |
xlPasteValidation | 6 | Validations are pasted. |
xlPasteValues | -4163 | Values are pasted. |
xlPasteValuesAndNumberFormats | 12 | Values and Number formats are pasted. |
SkipBlanks
If True then blanks will not be pasted.
Transpose
Transpose the Range before paste (swap rows with columns).