アプリ版:「スタンプのみでお礼する」機能のリリースについて

ユーザー入力フォーム上に入力を確定するコマンドボタンを1個配置しています。

シートを保護して入力フォーム以外からの入力しかできないようにするには
一時的に保護を解除、その後本来のコマンドを実行して最後に再び保護ということが
できるらしいですが、以下のようなコマンドで合ってますか?

※下記はテキストボックス1に入力された値をセルA1に転記させるという例です。

Private Sub CommandButton1_Click()
ActiveSheet.Protect

Worksheets(“sheet1”).Range(“A1”).Value = TextBox1.Value

ActiveSheet.Unprotect
End Sub

A 回答 (2件)

No.1のfujillinさんと同じですが、そのURLにあるページの最後の方に


「以前 のバージョンでは 、UserInterfaceOnly 引数を True に設定してこのメソッドを適用し、ブックを保存すると、ブックを再度開くと、ワークシート全体 (インターフェイスではなく) が完全に保護されます。 ブックを開いた後にユーザー インターフェイス保護を再度有効にするには 、UserInterfaceOnly を True に設定してこのメソッドを再度適用する 必要があります。」
との注意書きがあります。
念のため。
    • good
    • 0

こんにちは



ご提示の方法でも可能ですが、ユーザーフォームでならVBAでしょうから、UserInterfaceOnlyの保護にしておけば、いちいち保護の解除などする必要もなくなります。
https://docs.microsoft.com/ja-jp/office/vba/api/ …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!