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

时间:2018-08-31 06:35:46

标签: excel vba excel-vba

我的问题很简单。在当前正在处理的项目中,我想对p2:q600之类的范围进行操作,但情况并非总是p2:q600p2:q600上的单元格包含一些空单元格,因此我不能使用Sheets("Stock").Range("Q" & Rows.Count).End(xlUp).Row,我的问题是,我如何从A或B列中获取行数以与范围一起使用来进行操作完成。 谢谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

尝试

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

根据您的数据,它可以解决问题。