VBA excel使用currentRegion而没有selectionChanged触发

时间:2013-10-29 15:45:19

标签: excel-vba vba excel

我有以下的句子:每当用户选择某个单元格时,我就会将一张表从隐藏的工作表复制到活动工作表。然后,当用户更改其选择时,我需要清除复制表的内容并从隐藏表中复制另一个表。

要从我正在使用的隐藏工作表中复制表格:

source.Cells(leftRow, leftCol).CurrentRegion.Copy target.Range("A1")

问题是这个动作似乎导致selectionChanged再次被触发,这会触发我的ClearContents命令。

有没有办法在不触发selectionChanged的情况下使用此命令?

谢谢, 李

1 个答案:

答案 0 :(得分:2)

使用Application.EnableEvents = False

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo Whoa

    Application.EnableEvents = False

    '
    '~~> YOUR CODE
    '

Letscontinue:
    Application.EnableEvents = True
    Exit Sub
Whoa:
    MsgBox Err.Description
    Resume Letscontinue
End Sub