CopyOrigin при вставке в Excel VBA - PullRequest
19 голосов
/ 26 марта 2009

Может кто-нибудь сказать мне, для чего используется параметр CopyOrigin в Insert? А какие ценности он примет?

Я включил справку vba (которая не очень-то помогала):

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

expression.Insert (Shift, CopyOrigin) Выражение обязательно. Выражение который возвращает объект Range.

Shift Необязательный вариант. Определяет какой способ сдвинуть клетки. Может быть один из следующих Константы XlInsertShiftDirection: xlShiftToRight или xlShiftDown. Если это аргумент опущен, Microsoft Excel решает на основе формы Диапазон.

CopyOrigin Необязательный вариант. копия происхождения.

Ответы [ 3 ]

22 голосов
/ 26 марта 2009

Требуется один из параметров, указанных ниже.

Const xlFormatFromLeftOrAbove = 0

Member of Excel.XlInsertFormatOrigin

и ...

Const xlFormatFromRightOrBelow = 1

Member of Excel.XlInsertFormatOrigin
20 голосов
/ 26 марта 2009

Добавление к комментариям Лакшманараджа - он выбирает вариант форматирования в зависимости от того, где вы вставляете ячейки и какое форматирование вы хотите выбрать.

Допустим, у вас есть:
первая строка с жирным шрифтом,
во втором ряду все написано курсивом.
Вы выбираете 2-ю строку и выполняете следующее выражение:

Selection.Insert CopyOrigin:=xlFormatFromLeftOrAbove

Новая строка вставляется между 1-й и 2-й строкой и выбирает правила форматирования из «строки выше» или «ячейки слева от ячейки».

В этом случае для вновь вставленных ячеек текст будет выделен жирным шрифтом без явной настройки.

0 голосов
/ 18 апреля 2011

Вы можете Ссылка здесь:

Imports Excel = Microsoft.Office.Interop.Excel
Dim XLApp As New Excel.Application()
Dim xWkBook As Excel.Workbook = XLApp.Workbooks.Open(YourInitialPath)
Dim xSheet As Excel.Worksheet = CType(xWkBook.Sheets(1), Excel.Worksheet)

CurCell = xSheet.Range("G9:G11")
CurCell.Insert(Excel.XlInsertShiftDirection.xlShiftToRight, CurCell.Copy())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...