我觉得我错过了什么。 我有一个表ID,名称,状态作为标题。 表的标题从B2开始,数据从B3开始 该表是动态的,由另一个工作簿中的vba代码生成。 有时可能是过滤数据,但表中没有间隙。
有时用户会在“名称”列(C)中选择某人。 点击一下按钮就可以将它们缩小到最后一条记录。
我知道有很多方法可以实现这一点,但我似乎无法让它们中的任何一个工作,我无法弄清楚原因。
这是我当前的代码,但我尝试过UsedRange,CurrentRegion,表名,整个作品。
Sub MoveToLastRow()
Dim LastRow As Long
LastRow = ActiveSheet.Cells(Rows.Count, "C").End(x1Up).Row
End Sub
我点击按钮或尝试选择一个名称来逐步执行代码,它什么也没做。
感谢您的投入。 〜唐
答案 0 :(得分:1)
您可以使用以下简单的VBA代码段来选择包含列" C"中的数据的最后一个单元格:
Sub MoveToLastRow()
ActiveSheet.Range("C" & Rows.Count).End(xlUp).Select
End Sub
注意 :您的原始代码包含语法错误,因此无法正常工作:结束( x1Up )。行应该写为结束( xlUp )。行。以下是执行相同操作的更正代码段(即,使用列&#34中的数据选择最后一个单元格; C")
Sub MoveToLastRow()
Dim LastRow As Long
LastRow = ActiveSheet.Cells(Rows.Count, "C").End(xlUp).Row
ActiveSheet.Range("C" & LastRow).Select
End Sub
希望这可能会有所帮助。
答案 1 :(得分:1)
添加:
Application.GoTo Range("C" & LastRow)
在代码末尾的,使光标移动到该单元格。
答案 2 :(得分:0)
在您的代码中,如果您在代码顶部使用.End(x1Up)
,则.End(xlUp)
更改为Option Explicit
,它会向您显示VBA认为它是变量。