4

如何检查用户是否点击了 A 列?我尝试使用:

if selection = worksheets(Sheet1).range("A:A") then 
   *do something* 
else exit sub
end sub

不管用。请指导我。谢谢你。

4

2 回答 2

4

如果您需要检查当前选择的范围是哪一列,您可以通过两种方式进行:

  1. 在您提到单个单元格的情况下,我们可以说Activecell等于Selection。因此,您可以使用以下代码:

    If Activecell.Column = 1 then
        *do something*
    else 
        exit sub
    end sub
    
  2. 您的选择范围可能大于一个单元格。如果您想检查它的一部分(左列)是否在 A 列中,您可以使用以下代码:

    If Selection.Columns(1).Column = 1 then
        *do something*
    else 
        exit sub
    end sub
    

在以下评论提出其他问题后进行编辑:

要将所有三个条件都包含在一次检查中,我们将采用这种方式(上面的第一个选项就足够了):

    If Activecell.Column = 1 And Selection.Cells.Count = 1 And Activecell.Offset(0,1) <> "" Then
        *do something*
    else 
        exit sub
    end sub
于 2013-06-03T07:32:30.833 回答
2

使用Target.Column

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1

    End If
End Sub
于 2013-06-03T07:25:47.873 回答