使用XlDown并选择定义的列范围

时间:2018-12-29 16:57:51

标签: excel vba

我有这段代码使用xlDown确定数据的最后一行(负1),但是我需要转到已定义的列。因此,选择如下: 转到A6,然后执行xlDown -1 然后从xlDown中选择结果行,并将其与BU列合并

例如,如果xlDown的结果是第89行,则选择范围应为A6:BU89 我尝试使用xlRight,但数据不一致,并且在不同位置可以有空白列,但是我一直想转到BU列。

我似乎做得不好,有人可以帮我吗?

Sub AAPrepare_Pipeline_Data()
  Range("A6").Select
  Range(Selection, Selection.End(xlDown).Offset(-1)).Select
  'Range(Selection, Selection.End(xlToRight)).Select
  Selection.Copy
End Sub

2 个答案:

答案 0 :(得分:1)

使用相同的代码获得A列中的单元格,但在“选择”或“复制”命令之前将列的大小调整为73列宽。

Sub AAPrepare_Pipeline_Data()

  Range(Range("A6"), Range("A6").End(xlDown).Offset(-1)).Resize(, 73).Copy

End Sub

您无需选择某些内容即可引用或复制。

答案 1 :(得分:-1)

您可以获取所需的行号,使用它创建范围,然后选择该范围。这样的事情应该起作用:

Sub AAPrepare_Pipeline_Data()
    Range("A6").Select
    Dim desiredRow As Integer
    desiredRow = Selection.End(xlDown).Offset(-1).Row
    Range("A6:BU" & desiredRow).Select
    Selection.Copy
End Sub