从Excel VBA中的范围获取第一列范围

从Excel VBA中的范围获取第一列范围,excel,vba,Excel,Vba,我想从范围中获取列范围(第一列),例如: 如果范围:$E$9:$I$259 结果是:$E$9:$E259 如何实现这一点?使用range对象的columns集合,如下所示: Range("$E$9:$I$259").Columns(1) 但是如何得到多个列的范围(“$E$9:$E259”)。列(1:3)?在VBA中,你不能像1:3那样做整洁的事情,我认为你不会有3个列在E9:E259范围内。在范围选择中要更具选择性,并使用所有列,或在columns集合中循环。如果范围不连续,则失败。必须对从r

我想从范围中获取列范围(第一列),例如: 如果范围:$E$9:$I$259 结果是:$E$9:$E259


如何实现这一点?

使用range对象的columns集合,如下所示:

Range("$E$9:$I$259").Columns(1)

但是如何得到多个列的范围(“$E$9:$E259”)。列(1:3)?在VBA中,你不能像1:3那样做整洁的事情,我认为你不会有3个列在E9:E259范围内。在范围选择中要更具选择性,并使用所有列,或在columns集合中循环。如果范围不连续,则失败。必须对从range的地址创建的数组进行排序,然后首先将其连接在一起:
Dim TempA(),A as range:TempA=Split(A,“,”):QuickSort(TempA):Set A=A.Parent.range(join(TempA,”)。地址:Set Col=A.columns(1)
。您不是指
range($E$9:$I$259”)。columns(1)