当我从WorkSheet
对象中选择范围时,我可以使用的一种方法是MySheet.Range("A1")
。是否有类似的方法可用于选择现有范围对象的子范围?
为了使我的问题更具体,这里是一个例子:
假设当特定工作表上的选择发生变化时,我想告诉用户有多少“第一列”单元格在此范围内。根据我目前对VBA的理解,我会做类似以下的事情:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim col As Range
For Each col In Target.Columns
If col.Column = Range("I:I").Column Then
MsgBox col.Rows.Count
End If
Next
End Sub
是否有更灵活的方法来索引子范围?
答案 0 :(得分:3)
看待十字路口的一种方式:
Dim ir As Range
Set ir = Application.Intersect(Target, Range("I:I"))
If Not ir Is Nothing Then MsgBox ir.Cells.Count