如何使用 VBA 在 Excel 中插入一列?

How to insert a column in Excel using VBA?

请帮助我使用 vba 在 excel 中插入一列的代码。这是我正在做的 -


Sheet1.Range("A:A").EntireColumn.insert

我认为你 Sheets 属性 错了,这对我有用:

Sheets(1).Range("A:A").EntireColumn.Insert

你应该清楚地说明你想做什么;您遇到的是什么类型的问题。

但是,您应该尝试下面的代码。希望这会有所帮助

Sheet1.Range("A:A").EntireColumn.Insert Shift:=xlToRight

插入新行或新列时,请确保引用整行或整列。检查A列右侧是否有边缘单元格。这可能是导致问题的原因。

该代码对我来说工作正常。

Sheet1.Range("A:A").Insert 也适用。 Range("A:A") 已经在引用 EntireColumn.

如果它对您不起作用,请检查以下几点:

  1. 您正在引用一个名为 Sheet1 的对象。那一定是你要改的作品sheet的代号吗?确保您了解 sheet 名称和代号之间的区别。您可以尝试使用 sheet 的名称来引用它:Worksheets("Tabname").Range("A:A")...
  2. 作品sheet是否受到保护?如果是,那会给你一个错误。
  3. spreadsheet的right-most栏有数据吗?这也会导致错误,因为 Excel 不知道如何处理它。如果您不是 100% 确定,select sheet 的整个 right-most 列并点击删除以删除任何可能导致问题的内容。
  4. 最后,能否手动插入一列?即 select 最左边的列,[right-click] 和 [Insert]?
Sub TryMe()
  Columns(1).Insert
End Sub

此外,这是一个非常笼统的问题。如果你能 Google 一些东西并在制作问题和 post SO 上 Google 所需时间的一小部分时间内弄清楚,只需 Google 它。如果您的问题非常独特,并且在使用 Google 遇到多个死胡同之后,请询问 SO 社区。我使用 Google 搜索找到了下面的 3 个链接,搜索花费了大约 1 秒。

https://www.automateexcel.com/vba/insert-row-column/

https://excelchamps.com/vba/insert-column/

https://www.educba.com/vba-insert-column/