
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドボタンを押すたびに大...
-
Excel:コマンドボタンの移動
-
押したボタンの位置取得(共通の...
-
スクロールしてもボタンを常に...
-
エクセルVBAでOptionButtonのオ...
-
Wordでドラッグした文字列を括...
-
エクセルのマクロでスライドシ...
-
Excel VBA --- コマンドボタ...
-
[ExcelVBA] コマンドボタンを押...
-
エクセル:マクロボタンが編集...
-
エクセルVBA
-
Accessのコマンドボタンの立体...
-
astahのアクティビティ図の書き...
-
エクセル既存のコマンドをユー...
-
Auto CAD の F1(ヘルプ)を機...
-
エクセルでマクロボタンを動か...
-
ActiveXコントロールのコマンド...
-
EXCELでNo.を変えて印刷したい
-
イラストレータで5ボタンのマ...
-
エクセル2007VBAでコマンド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンを押すたびに大...
-
スクロールしてもボタンを常に...
-
Excel:コマンドボタンの移動
-
PPTのコマンドボタンがクリック...
-
押したボタンの位置取得(共通の...
-
Excel VBA --- コマンドボタ...
-
Accessのコマンドボタンの立体...
-
エクセルでマクロを使わずに複...
-
エクセルでマクロボタンを動か...
-
エクセルVBA
-
コマンドボタンがあるかどうか...
-
エクセルVBAでOptionButtonのオ...
-
エクセルのコマンドボタンの位...
-
ShowAllDataのエラーを回避したい
-
エクセルのマクロでスライドシ...
-
Wordでドラッグした文字列を括...
-
マクロボタンを別のファイルで...
-
エクセルVBA シート上にあるコ...
-
エクセル:マクロボタンが編集...
-
EXCELでNo.を変えて印刷したい
おすすめ情報