如何用vba在excel中插入多个空行、多个空列、多个单元格区域?

在excel单元格中当单击鼠标右键,选择插入命令时,会弹出如下所示的插入选项:

在vba中,可以使用range对象的Insert方法实现这样的操作。它有两个参数,分别是Shift参数和CopyOrigin参数。

其中Shift参数指定Range对象代表的单元格区域如何移动,可以是往右移动xlShiftToRight 或者 xlShiftDown 往下移动。如果省略这个参数,excel会根据Range对象所代表的单元格区域的形状来决定如何移动。
CopyOrigin参数则表示被插入的单元格区域的格式继承自哪里,可以是 xlFormatFromLeftOrAbove从左上方继承或者是xlFormatFromRightOrBelow从右下角继承。

如果要实现插入单个或多个单元格区域或行、列,只需将range对象也指定为具体数量的单元格区域或行、列即可。

比如如下的vba代码将只插入1个单元格:

如下的vba代码可以一次性插入4个单元格:

如下的vba代码可以一次插入4行:

类似地可以实现插入列的操作。

       

发表评论