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模板