2017-01-26 36 views
0

我们有些人提出了极大的简单方式 Excel中VBA来定义一组列,如:VBA Excel如何使用数字定义一组列?

.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)列表。

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

感谢您的输入。干杯

回答

1

您将需要使用范围():

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

嗯,应该发布我的问题之前已经尝试有点困难。

set MyRange =工作表(“mySheet”)。范围(列(1),列(5))工作得很好。它实际上选择了从第1列到第5列的一系列列表。 除此之外,我可以使用Union加入其他单列和Bingo。