- ベストアンサー
Excelシート上でボタン1つで交互に保護と解除を設定
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
fuji39さん、Wendy02です。 >下から2行目の"CommandButton1"を"ToggleButton1"に変えたら動いたのですが、これでよろしかったでしょうか? すみません。おっしゃるとおりです。元は、CommandButton1 から作ったので、自分の方は直したのに、アップロード・ログは直しませんでした。 色は、このようにしてつけます。思っている色と、若干違うのは、トグルボタンのせいだと思います。色をつけるなら、CommandButton でもよいかもしれませんね。 Private Sub ToggleButton1_Click() If ProtectContents Then ActiveSheet.Unprotect Else ActiveSheet.Protect , UserInterfaceOnly:=True End If With ToggleButton1 If ProtectContents Then .Caption = "Lock" .BackColor = vbRed 'ロック Else .Caption = "UnLock" .BackColor = vbBlue 'アンロック End If End With End Sub もしも、自分の思った色が違うなって思ったら、プロパティのBackColor から色を選んで、そこに出てきた16進の数字を、コピーして、コード上に貼り付けてください。vbRed, vbBlue は、組み込み定数です。 例: 青 .BackColor = &HFF&
その他の回答 (2)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんばんは。 通常、トグルボタンもコマンドボタンも同じです。 なお、ActiveSheetは、本来は、シート名を入れたほうがよいです。 Private Sub ToggleButton1_Click() If ProtectContents Then ActiveSheet.Unprotect Else ActiveSheet.Protect End If CommandButton1.Caption = Choose(CInt(ProtectContents) + 2, "Lock", "UnLock") End Sub
お礼
ありがとうございます。 最初は動きませんでしたが、下から2行目の"CommandButton1"を"ToggleButton1"に変えたら動いたのですが、これでよろしかったでしょうか? 感謝致します。
補足
頼みついでに申し訳ありませんが、追加でご質問させて下さい。 ボタン上の文字を"Lock"の時は赤色、"Unlock"の時は青色にしたいのですけれど、どうしたらよろしいでしょうか? 何卒ご教示下さい。 よろしくお願いします。
こんなのはいかがでしょうか? マクロで適当に記述しただけですが・・・。 Private Sub CommandButton1_Click() If Worksheets("Sheet1").ProtectContents = False Then ActiveSheet.Protect DrawingObjects:=True, Contents:=True,Scenarios:=True Else ActiveSheet.Unprotect End If End Sub
お礼
ありがとうございます。 大変参考になりました。 早速使います。
関連するQ&A
- Excel2000VBAで保護設定を自動化したのですが..
Excel2000使用です。 VBAは初心者で、自動記録に毛がはえたような知識しかありませんが、よろしくお願いします。 シートの保護及び解除をVBAで自動化したのですが、自動記録だとパスワードの設定が出来ません。 構文のなかにこのパスワードを記録させるにはどのようにしたらよろしいのでしょうか? ご教示下さい。
- ベストアンサー
- オフィス系ソフト
- Excel VBAからトグルボタンを押下状態にしたい
タイトルの通りなのですが、 シートにトグルボタンを設置し、それを押すのではなく VBAから押下状態にするにはどうしたら良いのでしょうか。 具体的にどう使いたいかと言いますと、 「このシートは保護されているよ」という状態を 簡単に目視できるようにしたいために、 押すとシート保護、もう一度押すと解除というトグルボタンを つけたものの、 ツールバーからシート保護をしたら、「トグルボタンは押されてないけど シートは保護はされているという気持ち悪い状態になるのを 何とかできないかな・・・と。 ご存知の方いらしたらお願いいたします。
- ベストアンサー
- Visual Basic
- エクセルのシートの保護と解除
excel2010です。 1月から12月までシートを作り、年間合計を出していますが、各シートに保護をかけています。ただ、それを解除し、編集するとき、各シートごとに解除をし、その後、再び、各シートごとに保護をかけなおしています。13枚いちいち解除、保護をかけなおすのは大変なので、同時に全部のシートの解除、保護をしたいのですが方法を教えてください。 また、現在、シートが出る下の行がコマンドになっていて、各シートが出てきません。どうすればシート1、シート2などが出てくるようになるのでしょうか? よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- エクセルのシート保護をマクロのボタンで
ご教示下さい。 エクセルでのシート保護の設定をボタン一つで出来るようにと思い、マクロの自動記録で作成してみましたが、設定したはずのパスワードが記録されていません。 シート保護の解除にパスワードの入力が必要なようにする、シート保護のマクロは出来るでしょうか?。 どなたか、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Excel2013でシートの保護解除について
よろしくご教授お願いいたします。 Excel2002のブックを互換モードでExcel2013に移行しました。 移行前には、特定範囲のセルの保護ロックを解除の上、シートに保護をかけていました。 移行後、しばらく使っているうちにロック解除しているセルに入力すると、「シートに保護がかかっているので解除してください」とのダイアログが現れます。[校閲]タグを開いても[シートの保護解除]ボタンはなくて、[シートの保護]ボタンが選択できない淡色で存在しています。 [校閲]タブを色々操作しているうちに、「共有」に変更と加えたらしく、ひとつのシートに数値入力すると、全てのシートの同じ座標に同一の数値が入力されてしまいます。 毎日入力する必要があるデータなので大変困っています。 解決策が分かればお教えいただけないでしょうか。
- ベストアンサー
- その他MS Office製品
- VBAでのブック・シートの保護・解除について
エクセル2010のVBAでのブック、シートの保護&解除の方法について教えて頂きたく、 質問させて頂きます。 消されては困るシートや数式がある関係で、ブックオープン時にVBAでブックとシートにそれぞれパスワードをかけて保護しています。 VBAではシートの削除、作成、コピーなどを行っているため、VBA実行時のみ、保護を解除させるようにしたいと思います。 ただ、対象のシート自体にも入力したい項目があるため、その箇所については保護を解除しておく必要があります。 そして、VBA実行後、再度、その箇所以外にパスワードで保護をかけ直します。 イメージとしては下記のような流れになります。 対象ブック:ブックA 対象シート:シート1 パスワード:1234(それぞれ) 常時保護を解除しておきたいセル:range("A6:H106") 1.(オープン時には、)ブック保護&特定のセル以外のシート保護 2.VBA実行時には全ての保護解除 3.VBA終了時に、1の状態に戻る どうぞよろしくお願い致します。
- ベストアンサー
- Excel(エクセル)
- シートの保護について
Excel2000のVBAについて質問です。 シートの保護をした状態で、可視セルを範囲指定しよう思い下記コードを 実行すると、シートの保護の解除を求められます。 Range("A1:A65536").SpecialCells(xlCellTypeVisible).Select シートの保護をしたまま、可視セルを指定することはできないのでしょう か?
- ベストアンサー
- Visual Basic
- Excelのシートを保護してオプションボタンの選択のみ可能にしたい
Windows2000、Excel2002使用です。 オプションボタンを使用し、Excelでアンケートを作成しました。 (メニュー>ツールバー>コントロールツールボックスを呼び出して、オプションボタンを作成しています。) シートを保護して、オプションボタンの選択と一部のセルへの記入のみできるようにしたいです。 ・編集したいセルのロックを解除 ・オプションボタンを選択し、右クリック>コントロールの書式設定>ロックを解除 ・オプションボタンが置いてあるセルのロックを解除 をおこない、「ロックされていないセルの選択」のみ許可してシートに保護をかけました。 セルに記入はできるのですが、オプションボタンの選択をしようとするとエラーメッセージが出てしまいます。 調べても出てこないので教えてください。お願いします。
- 締切済み
- オフィス系ソフト
- シート保護の解除方法
シート保護の解除方法 EXCEL2007を使っています。 自分で作ったワークシートに保護の設定をしました。 セルを一部修正するため、保護を解除したいのですが、 校閲タブの中の「シート保護の解除」ボタンが灰色になっていて、 クリックできません。 パスワードを設定していないことは間違いありません。 シート保護を解除する方法をお教えください。
- ベストアンサー
- その他MS Office製品
- Excelで複数シートの保護を一気に解除する方法はありませんか?
WinXPでExcel97を使っています。 複数シートの保護を一気に設定/解除することはできますか? ブック内のすべてのシートを対象にして、保護をかけたり解除したりしたいと思います。シート数が10以上になるので、一つ一つやるのは手間なのです。 いい方法があればよろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
お礼
再度のご返事ありがとうございます。 おかげさまで、思うように仕上る事が出来ました。 お礼が遅くなり、申し訳ありませんでした。