Excel VBA-仅相交特定列

时间:2019-07-03 18:15:37

标签: excel vba

我正在使用此宏来检查用户是否在“ M”列中选择了一个范围。但是,例如,如果用户在“ M:N”列中选择一个范围,则绕过该检查。我想避免这种情况,以便用户在继续操作之前只能在M列(而不是其他任何列)中选择一个范围。

Set rngMyRange = Selection.SpecialCells(xlCellTypeVisible)
Set srng = x_bf.Range(table[ColumnM])

If Intersect(rngMyRange, srng) Is Nothing Then
errline = "Please select a range in Column M only."
GoTo errhandler
End If

1 个答案:

答案 0 :(得分:1)

这里是通用指针。计算所选单元格的数量以及与M相交的数量。

Sub x()

If Intersect(Selection, Range("M:M")).Count < Selection.Count Then
    MsgBox "outside col M selected"
Else
    MsgBox "only col M selected"
End If

End Sub