VBA插入列|如何使用VBA在Excel工作表中插入列?

通常,在excel工作表中,我们有两种不同的方法来添加或插入列,一种是键盘快捷键,另一种是使用右键单击和插入方法,但是在VBA中,我们必须使用insert命令和整个column语句将任何一列添加在一起,窍门是,如果我们需要插入单个列,我们将提供单个列引用,但是对于多个列,我们将提供多个列引用。

使用VBA在Excel中插入列

作为VBA代码的一部分,我们可能需要在数据表中插入几列以适应我们的需求。插入列是工作表中的快捷键,方法是按 Ctrl + 但是如何通过VBA代码插入新列。在有关“ VBA插入列”的本文中,我们将向您展示在excel中添加列的过程,并向您展示不同的方案示例。

如何使用VBA在Excel工作表中插入列?

我们可以使用COLUMNS属性和RANGE对象在VBA中插入列。您必须说明为什么我们需要列和范围对象才能插入新列。

要插入新列,我们需要确定需要在哪一列之后插入,而无需告诉我们需要在哪一列之后插入,VBA如何理解逻辑。

例如,如果要在B列之后插入该列,则可以构造如下代码。

列(“ C”)

注意:之所以使用C插入列,是因为所选单元格将移至右侧。

指定列后,我们需要访问“整个列”属性。

列(“ C”)。EntireColumn

然后,我们需要选择“插入”方法。

Columns(“ C”)。EntireColumn.Insert

这会将列插入C列之后,现有的C列将移至D列。

Example#1 –在VBA中使用范围对象插入列

现在,看看使用RANGE对象插入列的方式。为此,请考虑以下数据作为示例。

现在,我想VBA在A列之后插入该列,请按照以下步骤构造代码。

步骤1: 开始子过程。

第2步: 打开 范围 目的。

代码:

 子ColumnInsert_Example1()范围(结束子 

第三步: 现在在 双引号.

代码:

 子ColumnInsert_Example1()范围(“ B:B”)结束子 

第4步: 现在选择 整列 财产。

代码:

 子ColumnInsert_Example1()Range(“ B:B”)。ent结束子 

步骤5: 选择整个列属性后,选择 “插入” 方法。

代码:

 子ColumnInsert_Example1()范围(“ B:B”)。EntireColumn.ins结束子 

现在,您的代码如下所示。

代码:

 子ColumnInsert_Example1()Range(“ B:B”)。EntireColumn.Insert End Sub 

运行代码,它将插入新的B列。

Example#2 –插入多列

例如,如果要在A列之后插入两个新列,则需要提及两个列地址。

代码:

 子ColumnInsert_Example1()Range(“ B:C”)。EntireColumn.Insert End Sub 

上面的代码将在A列之后插入两列。

例3 –仅使用“插入”方法

我们可以使用唯一的方法“插入”来插入新列,而无需访问整个列属性。为此,让我们了解“插入”方法的语法。

Expression.Insert([Shift],[复制原点])

[转移]: 当我们插入新列时,是否需要将列移到右侧或在行的情况下移到下方。在这里,我们可以使用两个选项“ xlToRight”和“ xlDownTo”

[复制原件]: 这将为新插入的列指定格式。是从列左侧还是从上面的单元格获取格式。在这里,我们可以使用两个选项“ xlFormatFromLeftOrAbove”和“ xlFormatFromRightOrBelow”。

以下是适合您的示例代码。

 子ColumnInsert_Example1()Range(“ B:B”)。插入Shift:= xlToRight,Copyorigin:= xlFormatFromLeftOrAbove End Sub 

Example#4 –在VBA中使用COLUMNS属性插入列

我们已经看到了如何使用RANGE对象VBA插入列,现在我们将展示我们可以使用“ COLUMNS”属性来插入列。

打开COLUMNS属性。

代码:

 Sub ColumnInsert_Example2()列(End Sub 

我们可以在此处以两种方式指定列。一种是照常使用字母参考,另一种是使用列号。

如果要在A列之后插入该列,则代码将为COLUMNS(“ B”)。如果使用数字参考,则代码将为COLUMNS(2)。

代码:

 子ColumnInsert_Example2()Columns(“ B”)。结束子 

现在,您遇到了问题,因为当我们使用COLUMNS属性时,我们无法访问IntelliSense列表。

代码:

 子ColumnInsert_Example2()Columns(“ B”)。Entir结束子 

在这里,我们需要确定我们在做什么。因此,这就是我首先向您显示RANGE对象的原因。

代码:

 子ColumnInsert_Example2()Columns(“ B:B”)。EntireColumn.Insert End Sub 

Example#5 –插入备用列

假设您具有如下图所示的数据。

如果要在每隔一行之后插入新列,则需要使用VBA循环。在下面的代码中为您量身定制了代码。

代码:

 Sub ColumnInsert_Example3()Dim k作为整数列(2)。选择k = 2到8 ActiveCell.EntireColumn.Insert ActiveCell.Offset(0,2)。选择下一个k结束Sub 

这样将插入列。

Example#6 –根据单元格值插入列

我们还可以根据单元格值插入一列。例如,查看下面的数据。

如果第一行单元格的值为“ Year”,则我想在此处插入列,并且在插入新列之后,我的数据应该是这样的。

使用以下代码执行此任务。

代码:

 Sub ColumnInsert_Example4()Dim k作为整数Dim x作为整数x = 2对于k = 2到12如果单元格(1,x).Value =“ Year”然后单元格(1,x).EntireColumn.Insert x = x + 1如果x = x + 1下一个k结束子 

您可以在此处下载此VBA插入列Excel。 VBA插入列Excel模板