vba - 创建范围排除中间列

标签 vba excel

我有需要在我的 excel 工作表中间排除一列的问题。有没有办法创建一个范围来排除不在数据边缘的列。范围是动态范围从 A1:AA#。需要将“F”列排除在此范围之外。需要存储此范围以在数据透视表中使用。

Range("A1:E4,G1:J4").Select

这就是 excel 宏记录器如何创建一个有间隙的范围,但我找不到修改它的方法,所以最后一个单元格是动态的。

谢谢。

最佳答案

正如您应该避免使用 .Select方法,你也应该避免使用 .UsedRange尽可能(See here)。

你可以尝试这样的事情。它不是那么干净,但可能被证明不太容易出错。

Dim LRow As Long
LRow = Range("A" & Rows.Count).End(xlUp).Row

Dim MyRange1 As Range, MyRange2 As Range, BigRange As Range

Set MyRange1 = Range("A1:E" & LRow)
Set MyRange2 = Range("G1:J" & LRow)
Set BigRange = Application.Union(MyRange1, MyRange2)

BigRange.Select

然后您可以引用您的BigRange直接往前走。

关于vba - 创建范围排除中间列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50828219/

相关文章:

vba - 根据工作表更改运行宏(单元格包含公式)

python - 从 Excel 工作表中读取数据并构建 SQL 语句,用 Python 写入输出文件

excel - 在 Excel VBA Basic 中使用 for 循环追加到数组

excel - 如何遍历用户窗体上的复选框?

vba - 在不复制工作表的情况下引用另一个工作簿中的 Excel 工作表

excel - 多个模块和子程序之间的错误处理

excel - 从一个单元格中查找值,从该单元格附近的单元格复制值并将其粘贴到另一张表

vba - 如何在 VBA 中更改标题

vba - 找不到 Excel VBA 文件

excel - 来自具有两个值的单个单元格的小时计算器