如何使用vba插入列?

在本教程中,我们将了解如何在 Excel 中使用 VBA 代码插入列。我们还将探讨为此编写宏的不同方法。

使用 VBA 插入单列

要使用 VBA 代码插入列,您需要将“整个列”属性与“插入”方法结合使用。通过整个列属性,您可以使用单元格引用整个列,然后插入新列。默认情况下,它将在您提到的单元格之前插入一列。

使用vba插入单列
  1. 首先,使用范围对象指定一个单元格。
  2. 现在输入点 (.) 以获取属性和方法的列表。
  3. 之后,选择“整个列”属性或键入它。
  4. 最后,再次输入句点 (.),然后选择“插入”方法或键入它。
 Range("A1").EntireColumn.Insert

您的代码已准备好插入列。现在,当您运行此代码时,它会立即在 A 列之前插入一个新列。

插入多列

我发现有两种方法可以将多列插入到电子表格中。第一个是我们在上面的示例中使用的相同插入方法。这样,您需要指定一个列范围,其编号等于要插入的列的编号。

现在假设您想要在 C 列之后插入 5 列,以防您可以使用这样的代码。

插入多列
 Range("C:G").EntireColumn.Insert

老实说,我觉得这个方法不是很有用,因为如果你想改变代码本身,你就必须改变范围。所以,这是第二种方法。

 'variables to use in the code Dim iCol As Long Dim iCount As Long Dim i As Long 'to get the number of columns that you want to insert with an input box iCount = InputBox(Prompt:="How many column you want to add?") 'to get the column number where you want to insert the new column iCol = InputBox _ (Prompt:= _ "After which column you want to add new column? (Enter the column number)") 'loop to insert new column(s) For i = 1 To iCount Columns(iCol).EntireColumn.Insert Next i

当您运行此代码时,它会要求您输入要添加的列数,然后输入要添加所有这些新列的列号。它使用FOR(For Next)循环来输入您提到的列数。

根据单元格值插入列

如果要根据单元格值插入列,可以使用以下代码。

 Dim iCol As Long Dim iCount As Long Dim i As Long iCount = Range("A1").Value iCol = Range("B1").Value For i = 1 To iCount Columns(iCol).EntireColumn.Insert Next i

当您运行此宏时,它会从单元格 A1 中获取列数,并从单元格 B1 中获取要添加列的列。

插入不带格式的列

当您插入上面的列具有特定格式的列时,在这种情况下,该列也将自动具有该格式。处理这种情况最简单的方法就是使用清晰的格式。考虑以下代码。

 Columns(7).EntireColumn.Insert Columns(7).ClearFormats

当您运行上面的代码时,它会在第七列之前插入一个新列。现在发生的情况是,当您在第七列之前插入一列时,这个新列将成为第七列,然后第二行代码会清除其中的格式。

插入复制的列

您还可以使用相同的方法复制列,然后将其插入到其他位置。请参阅以下代码。

 Application.CutCopyMode = False With Worksheets("Data") .Columns(5).Copy .Columns(9).Insert Shift:=xlShiftDown End With Application.CutCopyMode = True

添加评论

您的邮箱地址不会被公开。 必填项已用 * 标注