我有一个工作表,其中的表正在不断更新,因此它具有的行数是可变的。我对检索列B
中的最后一个值感兴趣。但是,棘手的是,表的此列中并非所有行都具有值。有时下一个具有实际值的单元格可能会在前一个单元格的正下方,有时它们之间可能会有许多空白。
我尝试使用以下代码进行操作:
LastValue = Cells(Rows.Count, "B").End(xlUp).Value
我遇到的问题是在非常特定的情况下发生的。如果我们假设该列中最后一个具有值的单元格是B6
,但是与此列对应的表的最后一个单元格是B10
,则检索到的值是空的({{1}中的那个值})。我需要找到的是单元格B10
,并将该值提供给变量B6
。有什么办法吗?我只能找到代码示例来查找整个工作表的最后一行,而忽略各个列。
答案 0 :(得分:0)
下面的代码基于您的工作表标题为Sheet1
,表为Table 1
的作用。
Sub FindLastRowInExcelTable()
Dim lastrow As Long
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
lastrow = ws.ListObjects("Table1").Range.Columns(2).Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
End Sub
您可以修改Columns(2)
来更改要计算的列。