使用用于获取具有不同列的范围的代码

问题描述 投票:1回答:2

我的问题很简单。在我正在研究的项目中,我想对像p2:q600这样的范围进行操作,但案例并不总是p2:q600p2:q600上的单元格包含一些空单元格,因此我无法使用Sheets("Stock").Range("Q" & Rows.Count).End(xlUp).Row,我的问题是,如何从A或B列获取行数以使用该范围来完成我的操作。谢谢!

excel vba excel-vba
2个回答
1
投票

尝试,

dim lr as long, rng as range

with worksheets("sheet1")

    lr = application.max(.cells(.rows.count, "A").end(xlup).row, _
                         .cells(.rows.count, "B").end(xlup).row)

    set rng = .range(.cells(2, "P"), .cells(lr, "Q"))
    debug.print rng.address(0, 0)

end with

另一种常见的方法是

lr = .range("A:B").find(what:="*", after:=.cells(1), _
                        searchorder:=xlbyrows, searchdirection:=xlprevious).row

0
投票

尝试

 set rng = Intersect(Range("P:Q"), Range("P2").CurrentRegion`)  

根据您的数据,它可以做到这一点。

© www.soinside.com 2019 - 2024. All rights reserved.