1

次のシナリオがあります。ユーザーが特定のセルを選択するたびに、非表示のシートからアクティブなシートにテーブルをコピーしています。次に、ユーザーが選択を変更すると、コピーしたテーブルの内容をクリアし、非表示のシートから別のテーブルをコピーする必要があります。

私が使用している隠しシートからテーブルをコピーするには:

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

問題は、このアクションにより selectionChanged が再び起動され、ClearContents コマンドがトリガーされるように見えることです。

selectionChanged を起動せずにこのコマンドを使用する方法はありますか?

ありがとう、リー

4

1 に答える 1

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
于 2013-10-29T15:59:40.450 に答える