在Excel VBA中插入CopyOrigin

任何人都可以告诉我什么插入的CopyOrigin参数用于? 它会接受什么样的价值?

我已经包括vba的帮助(这不是很有帮助):

将单元格或一系列单元格插入到工作表或macros表中,并将其他单元格移开以腾出空间。

expression.Insert(Shift,CopyOrigin)expression式必需。 一个返回一个Range对象的expression式。

Shift可选变体。 指定移动单元格的方式。 可以是以下XlInsertShiftDirection常量之一:xlShiftToRight或xlShiftDown。 如果省略此参数,Microsoft Excel根据范围的形状决定。

CopyOrigin可选变体。 复制原点。

它采用下面给出的一个参数。

Const xlFormatFromLeftOrAbove = 0 Member of Excel.XlInsertFormatOrigin 

和…

 Const xlFormatFromRightOrBelow = 1 Member of Excel.XlInsertFormatOrigin 

添加到Lakshmanaraj的评论 – 它取决于你在哪里插入单元格和你想select什么格式的格式化选项。

可以说你有:
第一行有粗体文字,
第二排有斜体的东西。
您select第二行并执行以下expression式:

 Selection.Insert CopyOrigin:=xlFormatFromLeftOrAbove 

新行插入到第一行和第二行之间,它从“行上”或“单元格左边的单元格”中select格式化规则。

在这种情况下,新插入的单元格将显示为粗体而不显式设置。

你可以参考这里:

 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())