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

Vba 按地址从给定范围中选择列,vba,excel,Vba,Excel,当我从工作表对象中选择范围时,我可以使用的一种方法是MySheet.Range(“A1”)。是否有类似的方法可用于选择现有范围对象的子范围 为了使我的问题更具体,这里有一个例子: 假设在特定工作表上更改选择时,我想告诉用户此范围内有多少“Column I”单元格。根据我目前对VBA的理解,我将执行以下操作: Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim col As Range For Each

当我从
工作表
对象中选择范围时,我可以使用的一种方法是
MySheet.Range(“A1”)
。是否有类似的方法可用于选择现有范围对象的子范围

为了使我的问题更具体,这里有一个例子:

假设在特定工作表上更改选择时,我想告诉用户此范围内有多少“Column I”单元格。根据我目前对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

是否有更灵活的方法为子范围编制索引?

单向查看交叉点:

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

您是说如果用户选择了
H1:J3
,您想选择子范围
I1:I3
?例如是!我想Alex K.的答案就是我想要的。但如果你有其他建议,我很乐意扩大我的选择:)好主意!谢谢你的帮助:)