VBA:范围方法不给予所需的输出
我想使用这个代码来select一个特定的列的值
Set rng = Range("O2", Range("O2").End(xlDown))
但不知何故,这是行不通的,我甚至尝试过使用
Set rng = ThisWorkbook.Sheets("Sample").Range("O2", Range("O2").End(xlDown))
这也不是。
你的代码工作正常,并会给你想要的结果,如果列中没有空白单元格,否则会给你错误的地址
你可以像这样做同样的事情
Dim frow As Long frow = Worksheets("Sample").Range("O" & Rows.Count).End(xlUp).Row Set rng = Worksheets("Sample").Range("O2:O" & frow) Debug.Print rng.Address
这工作,但我很困惑为什么设置rng =范围(“O2”,范围(“O2”)。结束(xlDown))没有工作
O2
以下的单元全部是空白的还是隐藏的行?
使用Find
比xlUp
和xlDown
技术更强大。 它处理我上面提出的问题(隐藏行等)
Sub AnotherWay() Dim rng1 As Range Set rng1 = Range("O:O").Find("*", [o1], xlFormulas, , , xlPrevious) If rng1.Row > 2 Then Set rng2 = Range(rng1, [o2]) Debug.Print rng2.Address Else MsgBox "range invalid" End If End Sub