4

ユーザーが列 A をクリックしたかどうかを確認するにはどうすればよいですか? 私は使用してみました:

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

動作しないでしょう。私を案内してください。ありがとうございました。

4

2 に答える 2

4

どの列が現在選択されている範囲であるかを確認する必要がある場合は、次の 2 つの方法で行うことができます。

  1. 単一のセルを参照する場合、 にActivecell等しいと言えSelectionます。したがって、次のコードを使用できます。

    If Activecell.Column = 1 then
        *do something*
    else 
        exit sub
    end sub
    
  2. 選択範囲が 1 つのセルよりも大きい場合があります。その一部 (左の列) が列 A 内にあるかどうかを確認する場合は、次のコードを使用できます。

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

以下のコメントからの追加の質問の後に編集します。

3 つの条件すべてを 1 つのチェックに含めるには、次のようにします (上記の最初のオプションで十分です)。

    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 に答える