首页 > 解决方案 > 从范围对象中选择单元格

问题描述

Function test()
Dim rnge As Range
Set rnge = Range("sheet1!$B$2:$B$3")
For i = 1 To rnge.Count
rnge.Cells(i, rnge.Column).Select
Next i
End Function

它正在选择 C2 和 C3 单元格。

为什么选择错误的范围单元格?解决方案是什么?

标签: excelvba

解决方案


首先,这"sheet1!$B$2:$B$3"是无效的论点Range。您应该像这样使用它:Sheets("sheet1").Range("B2:B3"),即第一部分(点之前)是工作表引用,然后我们指定要使用的单元格范围。

现在,rnge.Count等于 2,因此它将分别从1 To 2(注意rnge.Column等于 2)选择:Cells(1, 2)Cells(2, 2)分别循环到 a 的第一个单元格rnge,即 B2,因此它将选择 C2 和 C3。

为什么要分别选择rnge?因为您使用rnge.Cells(...)了 ,它就是这样做的!


推荐阅读