VBA勉強中の初心者です。よろしくお願いします。
(Excel2000使用)
シートの保護と解除をボタン1つで押すたびに交互に出来るようにしたいです。
今は、保護と解除の2つのボタンを作り、VBAを登録して使っているのですが、場所の都合でそれを1つのボタンでON/OFFみたいな感じで出来ればと思います。
なにぶんにも初心者で、VBAも自動記録に毛の生えた程度の知識しかありません。
トグルボタンの存在は知っていますが、構文の作り方がまるで判りません。
お知恵下さい。よろしくお願いします。
No.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&
No.2
- 回答日時:
こんばんは。
通常、トグルボタンもコマンドボタンも同じです。
なお、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
この回答への補足
頼みついでに申し訳ありませんが、追加でご質問させて下さい。
ボタン上の文字を"Lock"の時は赤色、"Unlock"の時は青色にしたいのですけれど、どうしたらよろしいでしょうか?
何卒ご教示下さい。
よろしくお願いします。
ありがとうございます。
最初は動きませんでしたが、下から2行目の"CommandButton1"を"ToggleButton1"に変えたら動いたのですが、これでよろしかったでしょうか?
感謝致します。
No.1
- 回答日時:
こんなのはいかがでしょうか?
マクロで適当に記述しただけですが・・・。
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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) ExcelのVBAを使い、複数シートの同一箇所を、同一条件にて一括でソルバーを回す方法について 1 2022/04/23 11:49
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- Excel(エクセル) vba 同じブック内での転記について 4 2023/01/15 14:42
- Excel(エクセル) ExcelのFSO(ファイルシステムオブジェクト)について学びたいのですが。。。 5 2022/12/15 18:06
- Excel(エクセル) エクセルでシート保護のかかり方の違いとセルの非保護の設定 3 2022/08/09 10:02
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 重複したデータ(空白は除く)のVBA表記について 4 2022/08/15 07:28
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
PPTのコマンドボタンがクリック...
-
コマンドボタンを押すたびに大...
-
Excel VBA --- コマンドボタ...
-
Excel:コマンドボタンの移動
-
ShowAllDataのエラーを回避したい
-
EXCELでNo.を変えて印刷したい
-
エクセルVBAでOptionButtonのオ...
-
エクセルVBA
-
Wordでドラッグした文字列を括...
-
エクセルVBA シート上にあるコ...
-
Accessのコマンドボタンの立体...
-
エクセルのコマンドボタンの位...
-
ROCKET MOUSEの使い方
-
Excelシート上でボタン1つで交...
-
チェックボックスで「いずれか1...
-
コマンドボタンがあるかどうか...
-
セルが更新されたらマクロ実行...
-
エクセル:マクロボタンが編集...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel:コマンドボタンの移動
-
コマンドボタンを押すたびに大...
-
スクロールしてもボタンを常に...
-
押したボタンの位置取得(共通の...
-
コマンドボタンがあるかどうか...
-
エクセルVBAでOptionButtonのオ...
-
エクセルVBA シート上にあるコ...
-
Excel VBA --- コマンドボタ...
-
エクセルVBA
-
Accessのコマンドボタンの立体...
-
PPTのコマンドボタンがクリック...
-
コマンドボタンで「終了ボタン...
-
EXCELでNo.を変えて印刷したい
-
エクセルのコマンドボタンの位...
-
ShowAllDataのエラーを回避したい
-
[ExcelVBA] コマンドボタンを押...
-
実行中の作業を中止させるコマンド
-
Wordでドラッグした文字列を括...
-
Accessユーザーフォームでコマ...
-
マクロ登録ボタンに色をつける
おすすめ情報