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