ブックのセルを編集しないようにしました。私はこのコードを書いた短いVBAコードを以下のように改善するにはどうすればよいですか?
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.EnableEvents = False
Application.Undo
Application.EnableEvents = True
End Sub
しかし、いくつかのテストの後、私は例外をキャッチしました。私がセルを切り取り、別のセルにペーストすると、許可されます。このような他の例外があるかどうかはわかりません。私の質問は、私はどのように編集されている細胞を保護するのですか?その間にコピーすることができますか?
シートが保護されている場合(変更したくないセルも)、Ctrl + X(または変更されるその他すべて)にエラーが表示されますセルの値)....だからあなたは使いますか? –
私はExcel 2013を使用しています。私のコードは、セルの内容を変更することから私を保護できますが、カットして別の場所に貼り付けることはできません。あなたのソリューションは、どのようにすべてのシートを保護するのですか? @DirkReichel – Nicholas
はい、Excelの組み込みの保護シートを使用する場合、正常に動作します。これは、シートが1枚ずつ、レビュー>保護シートに移動する必要があるようです。しかし、一度にすべてのシートを適用する解決策がない限り、私は短いVBAコードを好むでしょう。しかし、私の現在のコードにはいくつかの問題があります。 – Nicholas