Vba 创建不包括中间列的范围 我有一个问题,需要在Excel工作表的中间排除列。是否有一种方法可以创建一个范围,以排除不在数据边缘的列。范围为A1:AA#的动态范围。“F”列需要从该范围中排除。需要存储此范围以便在数据透视表中使用 Range("A1:E4,G1:J4").Select
这就是excel宏记录器创建带间隙的区域的方式,但我找不到修改的方法,因此最后一个单元格是动态的Vba 创建不包括中间列的范围 我有一个问题,需要在Excel工作表的中间排除列。是否有一种方法可以创建一个范围,以排除不在数据边缘的列。范围为A1:AA#的动态范围。“F”列需要从该范围中排除。需要存储此范围以便在数据透视表中使用 Range("A1:E4,G1:J4").Select,vba,excel,Vba,Excel,这就是excel宏记录器创建带间隙的区域的方式,但我找不到修改的方法,因此最后一个单元格是动态的 谢谢。如果您的工作表中只有一组数据,您可以尝试以下方法: Intersect(ActiveSheet.UsedRange,Range(“A:E,G:AA”)。选择 这将选择工作表中除F列以外的所有包含AA列数据的内容 只要有可能,您应该避免使用。选择。激活,但您只提供了一行代码,因此在这方面我帮不了您多少忙,只能将您重定向到。正如您应该避免使用。选择方法一样,您也应该避免使用。如果可能,请使用dRa
谢谢。如果您的工作表中只有一组数据,您可以尝试以下方法:
Intersect(ActiveSheet.UsedRange,Range(“A:E,G:AA”)。选择
这将选择工作表中除F列以外的所有包含AA列数据的内容
只要有可能,您应该避免使用。选择。激活,但您只提供了一行代码,因此在这方面我帮不了您多少忙,只能将您重定向到。正如您应该避免使用。选择方法一样,您也应该避免使用。如果可能,请使用dRange
)
你可以试试这样的。它没有那么干净,但可能被证明不那么容易出现错误
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
您可以使用
Dim rng As Range
Set rng = Intersect(Range("A:E,G:AA"), Rows(1).Resize(Cells(Rows.Count, 1).End(xlUp).Row))
其中,单元格中的列索引(Rows.Count,1)
允许您选择范围后的列大小谢谢!这正是我要找的。我没有使用select,而是使用Var=Intersect(ActiveSheet.UsedRange,Range(“A:E,G:AA”))创建要使用的范围。