代码之家  ›  专栏  ›  技术社区  ›  Craig T

在Excel VBA中插入时复制原点

  •  19
  • Craig T  · 技术社区  · 16 年前

    有人能告诉我insert的copyorigin参数是用来做什么的吗? 它将接受什么样的价值观?

    我已经包括了vba帮助(其实没那么有帮助):

    插入单元格或单元格区域 在工作表或宏工作表中 移动其他单元格以腾出空间。

    expression.insert(shift,copyorigin) 需要表达式。表达式 返回一个Range对象。

    换档可选变型。指定 移动单元格的方式。可以是 下列之一 xlinsertshiftdirection常量: XLshiftToLight或XLshiftDown。如果这样 参数被省略,Microsoft Excel 根据 范围。

    CopyOrigin可选变量。这个 复制原点。

    3 回复  |  直到 16 年前
        1
  •  22
  •   lakshmanaraj    16 年前

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

    Const xlFormatFromLeftOrAbove = 0
    
    Member of Excel.XlInsertFormatOrigin
    

    还有…

    Const xlFormatFromRightOrBelow = 1
    
    Member of Excel.XlInsertFormatOrigin
    
        2
  •  20
  •   ZygD    9 年前

    添加到Lakshmanaraj的评论中-它会根据您要插入单元格的位置以及要选择的格式选择格式化选项。

    假设你有:
    第一行有粗体文本,
    第二行有斜体字。
    选择第二行并执行以下表达式:

    Selection.Insert CopyOrigin:=xlFormatFromLeftOrAbove
    

    新行插入第一行和第二行之间,它从“上方行”或“单元格左侧单元格”中选择格式规则。

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

        3
  •  -1
  •   animuson    13 年前

    您可以在这里引用:

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