0

ワークシートのコードを書き、数値を変更するたびに、変数が 10%、20%、または +20% より大きい場合、色が変わります。したがって、セルの番号が変わるたびに色が変わるように、「General」と「Private Sub Selection_Worksheet」の両方でマクロコードを使用しました。

数式を表示するセルの一部をロックして非表示にし、コードを記述しました

    Sheets("Financials").Protect Password:="Ottawa", UserInterFaceOnly:=True

General と "Private Sub Selection_Worksheet" の両方で、セルをクリックするたびに実行時エラーが発生します。

この問題を解決するにはどうすればよいですか? 特定のセルのみを使用し、保護されて隠されている間もマクロを実行したい.

ありがとう、

ダニエル

4

1 に答える 1

0

による保護UserInterface:=Trueは、残念ながら多少誤解を招く可能性があります。保存後にファイルを再度開くと、そのステータスが失われ、ワークシートが再び完全に保護されます。

したがって、保護を処理するようにコードを変更することもお勧めします。

Private Const cStrPwd as String = "Ottawa"

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    'コードを実行する必要があるかどうかを確認するための条件は、次のようになります。
    Application.Intersect(Target、Me.Range( "A1:B10"))がNothingまたは_の場合
        Me.Range( "B2")<0.2次にSubを終了

    Me.Unprotect Password:= cStrPwd

    'ここにあなたのコード
    MsgBox「あなたは何かをうまくやった!いい仕事だ、メイト!」

    Me.Protectパスワード:= cStrPwd
サブ終了
于 2013-01-17T07:20:56.263 に答える