特定工作表的Excel选择已更改

时间:2013-09-17 18:54:32

标签: excel excel-vba vba

我经常搜索我的问题的答案,但找不到任何帮助我的东西。

我想将Worksheet_SelectionChange`用于特定的工作表。我想在代码中定义这个特定的工作表。

示例(这个例子毫无意义,我知道,但这是展示我问题的最佳方式):

我的工作簿中有三个工作表:ws1ws2ws3

ws1ws3为空,ws2有一些值。当我打开工作簿时,我搜索哪个工作表不为空。到目前为止这是有效的。

现在我发现哪个工作表不为空,我想为此工作表设置Worksheet_SelectionChange

我该怎么做?

1 个答案:

答案 0 :(得分:4)

将其放入THISWORKBOOK代码区域

如果单元格不为空,当您在该工作表中选择单元格时,这将为您提供工作表的名称。

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, _
ByVal Target As Range)
    If Application.WorksheetFunction.CountA(Sh.Cells) <> 0 Then

        MsgBox Sh.Name & " is not blank"

        With Sh
            '~~> Insert code here which you want to run for that sheet
        End With
    End If
End Sub

如果您不想这样,那么您必须在相关的表单区域中注入代码。在SO

中已经多次讨论在表单代码区域中注入代码