
全シート保護(保護の解除)のコードなんですが、パスワードを求めない形にするには下記をどうすれば良いのですか?
Sub 全シート保護の設定()
Dim Sh As Worksheet
x = Application.InputBox("パスワードを入力して下さい", Type:=3)
For Each Sh In Worksheets
Sh.Protect (x)
Next Sh
End Sub
Sub 全シート保護の解除()
Dim Sh As Worksheet
On Error GoTo ErLine
Do
x = Application.InputBox("パスワードを入力して下さい", Type:=3)
Loop While x = "False"
For Each Sh In Worksheets
Sh.Unprotect Password:=x
Next Sh
Exit Sub
ErLine:
y% = MsgBox("パスワードが違います ! 終了します", 48)
End Sub
毎度すみませんがよろしくお願いします。
No.5ベストアンサー
- 回答日時:
またまたこんにちは。
>質問文のコードが今あるものなのですが、ようは単純に全シート保護(解除)の際に、パスワードを聞いてこないようにしたいのです。
それはは十二分に分っていますが、VBAの場合はコードのちょっとした部分でも違うと全く違う動作をしてしまいますので、修正したコードをアップしてくださいと言っているのですが・・・。
それと、const x="LINERS" にセットするパスワードは
大文字小文字などちゃんと区別してセットしてますか?
それもアップしたコードで確認したいのです。
尚、言わずもがなのことですが、当方がアップしたコードは完全に動作するものです・・・よ。(^^;;;
以上です。
大変失礼しました。
問題なしです。先ほどの補足は私がおかしなことをしていたためです。
最初のコード(訂正なし)の段階でパスワードは設定していなかったのです。
なのにいただいたコードのほうに素直に"LINERS"と書いてました。すみません。
>尚、言わずもがなのことですが、当方がアップしたコードは完全に動作するものです・・・よ。(^^;;;
完全に動作してます。失礼致しました。
No.4
- 回答日時:
再びこんにちは。
NO.3です。>いただいたコードに変えて実行してみましたら、
「実行時エラー'1004' 入力したパスワードは間違っています
それはメッセージどおりパスワードが間違っています。
解除・設定両方のパスワード用変数宣言の
Const X = "LINERS" の LINERS を
本物のパスワードに変えて実行してますか?
本物のパスワードと
エラーのでるコードをアップしてみて下さい。
いまちょっと暇なので出来るまでお付き合いしませう。(^^;;;
以上です。
この回答への補足
お付き合いいただきすみません。
質問文のコードが今あるものなのですが、ようは単純に全シート保護(解除)の際に、パスワードを聞いてこないようにしたいのです。
超初心者なのでたまにわけのわからないことを言うと思いますがよろしくお願いします。
No.3
- 回答日時:
こんにちは。
パスワードが、"LINERS" だとして一案。
'----------------------------------------------
Sub 全シート保護の設定()
Dim Sh As Worksheet
Const X = "LINERS"
For Each Sh In Worksheets
Sh.Protect Password:=X
Next Sh
End Sub
'---------------------------------------------
Sub 全シート保護の解除()
Dim Sh As Worksheet
Const X = "LINERS"
For Each Sh In Worksheets
Sh.Unprotect Password:=X
Next Sh
End Sub
'----------------------------------------------
以上です。
この回答への補足
ご回答有難うございます。
いただいたコードに変えて実行してみましたら、
「実行時エラー'1004' 入力したパスワードは間違っています~でデバックを求められてしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) エクセル VBAについて 2 2022/09/21 22:21
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) シート削除のマクロで「deleteメソッドは失敗しました」となります。助けてください! Sub 不要 6 2022/09/08 16:41
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Visual Basic(VBA) outlook マクロが終了しません。 1 2022/09/02 11:14
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Steamのアカウントにログインで...
-
不正ログインされました。対応...
-
インスタの乗っ取り解除につい...
-
「そのメールアドレスはすでに...
-
カカオで退会せずに、アプリだ...
-
おはようございます (  ̄▽ ̄)ニャ...
-
解約済みの iPadについて 解約...
-
YouTubeが毎回ログインしないと...
-
Twitterの こうしたアク...
-
カカオトークを退会せずにアン...
-
インターネットカフェでCD書き...
-
ユニクロやGUのシフト管理アプ...
-
彼氏のインスタのアカウントが...
-
メールアドレスを人に教えるの...
-
Excelのセルにユーザー名...
-
無料の掲示板を立ち上げたいです。
-
ログアウトと閉じるとの違い
-
steam版 apexのログアウト方法...
-
インスタで他人のアカウントに...
-
いまInstagramで捨てメアドを ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
Steamのアカウントにログインで...
-
ユニクロやGUのシフト管理アプ...
-
runas実行した時にきかれるパス...
-
インスタの乗っ取り解除につい...
-
メールを返信したら、英語のメ...
-
CSVファイルを添付するときにパ...
-
YouTubeが毎回ログインしないと...
-
email.ne.jpのメールアドレスを...
-
カカオで退会せずに、アプリだ...
-
携帯電話を解約してもSMSの受信...
-
iPhoneのiCloudメールなよです...
-
メールアドレスで上付きのハイフン
-
メールをパスワードつきで送る方法
-
「そのメールアドレスはすでに...
-
インスタの捨て垢で友達のスト...
-
「@」(アットマーク)の無いメ...
-
sageがついてるメールアドレス
-
スタディプラスではアカウント...
-
カカオトークを退会せずにアン...
おすすめ情報