按地址从给定范围中选择一列

时间:2015-07-27 16:45:37

标签: vba excel-vba excel

当我从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

是否有更灵活的方法来索引子范围?

1 个答案:

答案 0 :(得分:3)

看待十字路口的一种方式:

Dim ir As Range
Set ir = Application.Intersect(Target, Range("I:I"))
If Not ir Is Nothing Then MsgBox ir.Cells.Count