Insert 方法 在工作表或宏表中插入一个单元格或单元格区域,其他单元格相应移位以腾出空间。 语法:Insert(Shift, CopyOrigin) Shift 可选,指定单元格的调整方式。 可为以下 XlInsertShiftDirection 常量之一:xlShiftToRight 或 xlShiftDown。 如果省略此参数,Microsoft Excel 将根据区域的形状确定调整方式。 CopyOrigin 可选,复制的起点。其值如下: xlFormatFromLeftOrAbove 0 xlFormatFromRightOrBelow1 该参数用来设置插入的单元格的格式从哪个单元格复制。 其实这动笔写这篇之前,这两个参数平时也没有注意过,一直是用无参数的方法在调用。 CopyOrigin参数使用方法: 1.当Shift是XlshftDown时,XlFormatFromLeftOrAbove是从上方单元格取格式,
xlFormatFromRightOrBelow是从下方单元格取格式,与左右单元格的格式无关。 2.当Shift是xlShiftToRight时,XlFormatFromLeftOrAbove是从左侧单元格取格式,
xlFormatFromRightOrBelow是从右侧单元格取格式,与上下单元格的格式无关。 当不需要考试到单元格的格式时,可以省略CopyOrigin参数。 另外需要注意的地方是,当是在表格里插入时,为避免插入后单元格下移或右移后造成内容错位的现象,
建议整行或整列插入。 示例1: With Range("A1") .CurrentRegion.Clear '注意,凡是示例中用到的Clear系列方法均是为了演示效果 '实际用时根据需要判断是否需要 '否则误清了数据,你懂的。 .Interior.Color = 49407 .Value = "A1" .Insert shift:=xlShiftDown .Offset(-1).Value = "新插入的单元格" '插入后,原来的A1单元格下移成A2了 '所以用offset(-1)指向新插入的单元格 .Insert shift:=xlShiftDown, copyorigin:=xlFormatFromRightOrBelow .Offset(-1).Value = "新插入,格式复制右侧或下方单元格" .CurrentRegion.EntireColumn.AutoFit End With 效果图1:
示例2:
With Range("A1") .CurrentRegion.Clear .Interior.Color = 49407 .Value = "A1" .Insert shift:=xlShiftToRight '没有指定CopyOrigin参数,自然无格式 .Offset(, -1).Value = "新插入的单元格" '插入后,原来的A1单元格右移成B1了,
'所以用offset(,-1)指向新插入的单元格 .Insert shift:=xlShiftToRight, copyorigin:=xlFormatFromRightOrBelow .Offset(, -1).Value = "新插入,格式复制右侧或下方单元格" .CurrentRegion.EntireColumn.AutoFit End With 效果图2 :
示例3: Range("a1").Value = 1 Range("a1").Resize(6).Insertshift:=xlShiftDown ‘在A1上方插入6个单元格
关于如何插入多列,多选区域插入希望大家举一反三,用代码练习。
作业1: 用代码实现隔行插入,效果如下图:
|