当相邻列的数据超过原始列结束点时,查找列中的最后一行

时间:2016-03-30 16:35:49

标签: excel-vba vba excel

我有一张excel表,有两列G和H.列G有25行不为空,列H有15列。我已经编写了一些vba代码来查找H列中的最后一行,但是它一直选择到G列,而不是停留在H列的末尾。有没有办法编写代码,不看G列中的什么?我添加了下面的代码。

谢谢!

ws.Range("H2:H" & Range("H" & Rows.count).End(xlUp).Select

2 个答案:

答案 0 :(得分:0)

很容易避免底栏列 H 中的任何 NULL 单元格:

Sub dural()
    Dim nr As Long

    nr = [MAX((H:H<>"")*(ROW(H:H)))]
    Range("H" & nr).Select
End Sub

这很慢,请考虑将H:H替换为H1:H9999

答案 1 :(得分:0)

尝试使用此行代替您拥有的行:

ws.Range("H2", ws.Range("H:H").Find("*", , , , , xlPrevious)).Select

它会找到值不是""的最后一个单元格。

照片显示H11中有一个公式:

enter image description here

但是以下代码:

Sub finnnn()
Dim ws As Worksheet

Set ws = Sheets("Sheet13")

Debug.Print ws.Range("H1", ws.Range("H:H").Find("*", , , , , xlPrevious)).Address

End Sub

在即时窗口中运行列表$H$1:$H$5时:

enter image description here