仅为最后一行选择命名范围

时间:2017-04-28 19:21:18

标签: excel-vba vba excel

我将原始数据拖入模板,但我无法保证在团队之间他们将使用相同的UI模板来提取数据。我可以检查以确保我想要的数据存在,但它们可能位于团队之间的不同列中。

因此,我的宏命名范围(每个是基于标题名称的完整列),然后希望选择所需的命名范围进行复制和粘贴。

当然,这些数据集是各种各样的大小,我觉得我正在绊倒一个超级简单的事情。

我想要做的是选择我的命名范围,但只选择最后一行,然后将值粘贴到我的模板中。除此之外,我无法弄清楚如何只选择最后一行。

这是我目前的麻烦代码:

Dim LastRow as Long
LastRow = ActiveSheet.Cells(Rows.Count, "U").End(xlUp).Row
Range("PullPlacementname" & LastRow).Copy

运行它会给我一个运行时错误'1004',对象的方法'范围'失败。这让我很困惑,因为我在成功之前就使用过这种方法。

下面的一点点修补,给了我同样的问题

LastRow = Cells(Rows.Count, 1).End(xlUp).Row

我已尝试添加额外的Dim

Dim PullPlacementname As Range
Set PullPlacementname = ActiveWorkbook.SheetName("Pull").Range("PullPlacementname")

但第二行给出了运行时错误'438',对象不支持此属性或方法。

思想/建议?

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容:

Dim c As Long
With Worksheets("Pull")
    c = .Range("PullPlacementname").Column ' assuming the range name only contains one column
    .Range(.Cells(1, c), .Cells(.Rows.Count, c).End(xlUp)).Copy
End With
相关问题