我在行上有一个非连续的范围(myRange的示例地址:$ 2:$ 2,$ 4:$ 205,$ 214:$ 214),我想访问该范围内的特定行和列.我尝试过以下方法:
'获取范围内第2行,第1列的值
myRange.rows(2).Cells(, 1).Value
Run Code Online (Sandbox Code Playgroud)
但是,这给了我工作表中第二行的值,而不是在范围内 - 这意味着它给了我$ 3 $ 1的地址 - 而不是$ 4 $ 1
有人可以解释我如何访问我的范围内的值?(可能与不同的领域有关)
谢谢
我认为您希望 VBA 做的是将非连续范围视为连续范围。我认为您所采取的方法不会起作用。您必须将其视为多个连续范围。以下代码应该可以帮助您入门。其中 rowSelection 是范围中您感兴趣的行。如果您输入 2,它将选择工作簿中的第 4 行,因为它是范围中的第二行。
Sub Macro1()
Dim rowCounter As Long
Dim rowSelection As Long
rowSelection = 2
For Each Rng In Range("A2:A2,A4:A205,A214:A214").Areas
If Rng.Rows.Count >= rowSelection Then
Rng.Rows(rowSelection - rowCounter).Cells(1, 1).Select
End
Else
rowCounter = rowCounter + Rng.Rows.Count
End If
Next Rng
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12387 次 |
| 最近记录: |