VBA Excel如何使用数字定义一组列?

时间:2017-01-26 15:58:45

标签: excel-vba vba excel

我们中的一些人提出了很简单的方法来定义一组列 Excel VBA,例如:

.Union(Columns("a"), Columns("b"), Columns("d"))

这些示例使用字母来表示这些列。 我需要使用数字来引用我的列,例如:

.Union(Columns(2), Columns(7), Columns(23)). 

后者的效果很好但是如果我需要使用一系列列来引用列,例如:

.Union(columns(2), columns(7), columns(9 to 23)) 

我的想法是,我不必单独为每个列定义.Union,在本示例中,需要列出17列(x)。

不是优雅的代码。此外,我需要使用数字,因为列号是以编程方式确定的,并且在执行期间会发生变化。

感谢您的投入。干杯

2 个答案:

答案 0 :(得分:1)

您需要使用RANGE():

.Union(.columns(2), .columns(7), .Range(.columns(9), .columns(23)))

答案 1 :(得分:0)

set MyRange = worksheets("mySheet").range( columns(1), columns(5) )效果很好。
它实际上选择了从第1列到第5列的一系列列 此外,我可以使用联盟加入其他单一栏目。