VBA - 使用数字选择列?

gem*_*mmo 18 excel vba excel-vba

我正在寻找替代方案code,但使用数字.我想选择5列,start列是一个变量,然后从中选择5列.

Columns("A:E").Select
Run Code Online (Sandbox Code Playgroud)

我如何使用integers,以引用列?像下面的东西?

For n = 1 to 5
Columns("n : n + 4") .select
do sth
next n
Run Code Online (Sandbox Code Playgroud)

谢谢.Gemmo

L42*_*L42 25

你可以像这样使用resize:

For n = 1 To 5
    Columns(n).Resize(, 5).Select
    '~~> rest of your code
Next
Run Code Online (Sandbox Code Playgroud)

在您执行的任何范围操作中,始终保持在您的思维调整大小和偏移属性.


小智 6

Columns("A:E").Select
Run Code Online (Sandbox Code Playgroud)

可以直接替换

Columns(1).Resize(, 5).EntireColumn.Select
Run Code Online (Sandbox Code Playgroud)

其中1可以由变量替换

n = 5
Columns(n).Resize(, n+4).EntireColumn.Select
Run Code Online (Sandbox Code Playgroud)

在我看来,你最好处理一列列而不是循环遍历列n到n + 4,因为它更有效.

此外,使用select会降低代码速度.因此,不要选择列,然后对选择执行操作,而是尝试直接执行操作.下面是将列AE的颜色更改为黄色的示例.

Columns(1).Resize(, 5).EntireColumn.Interior.Color = 65535
Run Code Online (Sandbox Code Playgroud)