gpt4 book ai didi

vba - 查找包含公式的单元格区域中最后一个非空行

转载 作者:行者123 更新时间:2023-12-01 19:33:37 25 4
gpt4 key购买 nike

如何找到包含公式的单元格区域的最后一行,其中公式的结果是实际值而不是空?

以简化的方式表示单元格范围 ("E1:E10") 包含引用单元格 A1 到 A10 的公式,如下所示 =IF("A1"="",“”,“A1”)。但只有单元格 A1 到 A6 填充了值,因此单元格 E7 到 E10 的公式结果将为空。

尝试这样做:

lastRow = ActiveSheet.Range("E" & Rows.Count).End(xlUp).Row

导致lastRow的值为10。我想要的是在这个例子中lastRow的值为6

实际的代码比这复杂得多,所以我不能只检查 A 列的最后填写的行,因为公式引用不同工作表上的单个单元格并动态添加。

最佳答案

我认为比 @D_Bester 提供的更优雅的方法是使用 find() 选项而不循环遍历单元格范围:

Sub test()
Dim cl As Range, i&
Set cl = Range("E1:E" & Cells(Rows.Count, "E").End(xlUp).Row)
i = cl.Find("*", , xlValues, , xlByRows, xlPrevious).Row
Debug.Print "Last row with data: " & i
End Sub

测试

enter image description here

此外,上面提供的代码的更短版本是:

Sub test2()
Debug.Print [E:E].Find("*", , xlValues, , xlByRows, xlPrevious).Row
End Sub

关于vba - 查找包含公式的单元格区域中最后一个非空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33971250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com