シート保護をかけているブックに対して、処理するマクロがあるのですが、
毎回、
シート保護解除→データ処理→シート保護(パスワード付き)
を繰り返すのが面倒なので、
下記の様に、処理直前にマクロによる変更を許可する処理を入れています。
ActiveSheet.Protect UserInterfaceOnly:=True, Password:="vwxyz"
もともと、パスワード付きシート保護がかかっていてもエラーを返されることがなかったため、おまじないとして先頭に置いてますが、何度も重複してても問題なのでしょうか?
つまり、一つのマクロの中で、他のブックやシートに切り替える度に入れています。
「それで問題ない、大丈夫」とか
「本当はやらない方が良い」とか「好ましくない」とか詳しい方の見解をお聞かせ願えないでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>ActiveSheet.Protect UserInterfaceOnly:=True, Password:="vwxyz"
これ自体は悪さはしないでしょうが、
このまま保存して、開いたときは保護されていないはず。
不安なのできっちりテストしてみました。
下記のファイル・シート構成です。
マクロ本体.xlsm
01.xlsm(シート2枚)
02.xlsx(シート2枚)
マクロ本体のマクロによって、01と02のブックを開き、
各シートの処理直前に「ActiveSheet.Protect UserInterfaceOnly:=True, Password:="vwxyz"」を入れました。
処理後、上書き保存でブックを閉じるようになっています。
まず、01、02ともシートにパスワード保護がかかっている状態でマクロ実行したところ、
01、02ともにパスワード保護がかかっておりました。
次に、01、02ともシートにパスワード保護がかかっていなかった状態でマクロ実行したところ、
01、02ともにパスワード保護がかかっておりました。
つまり、この1行を入れておくだけで、事前に保護かけ忘れていたとしても、必ず保護をかけなおしてくれると想定できる結果となりました。
よろずやkinchan さんの気のせいって事でよろしいですね?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Visual Basic(VBA) VBAでシートの保護をかける際に「書式設定の変更」を有効にする 1 2023/04/17 18:18
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Excel(エクセル) フォルダ内の全ブックのシート名を変更したい 7 2022/09/22 21:34
- Visual Basic(VBA) 【困っています2】VBA 追加処理の記述を教えてください。 2 2022/08/26 11:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) 特定の文字を含むシートだけマクロ処理をしたい 1 2023/05/22 01:43
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
ActiveSheet.Protect UserInterfaceOnly:=Trueの書き場所は
Excel(エクセル)
-
エクセルVBAでブック保護のUserInterfaceOnly:=Trueはダメ?
Excel(エクセル)
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
-
4
EXCEL(VBA)でシート保護がかかったシートにクリックボードから貼り付けしたい
Visual Basic(VBA)
-
5
EXCELマクロ 保護されているシートのダイアログを表示させない方法
Visual Basic(VBA)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
VBAでブック保護非保護を判定するには?
Excel(エクセル)
-
8
【Excel】他ブックからOpenされたブックはUserInterfaceOnlyが効かない?
その他(Microsoft Office)
-
9
Excelシートの保護時にデータの並び替え
その他(Microsoft Office)
-
10
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
11
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
12
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
13
VBAで、セル(Range)のオブジェクトが取得できない
Excel(エクセル)
-
14
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
15
ブック名、シート名を他のモジュールからも参照可能にする方法
Access(アクセス)
-
16
EXCEL シート保護するとマクロが正常動作しない
Excel(エクセル)
-
17
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
18
ExcelのVBA。public変数の値が消える
Visual Basic(VBA)
-
19
worksheet_changeがループする
PowerPoint(パワーポイント)
-
20
VBAで入力数値について
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別のシートから値を取得するとき
-
【ExcelVBA】全シートのセルの...
-
ユーザーフォームに入力したデ...
-
同じ作業を複数のシートに実行...
-
特定の文字を含むシートだけマ...
-
【Excel VBA】Worksheets().Act...
-
XL:BeforeDoubleClickが動かない
-
excelのマクロで該当処理できな...
-
VBAで指定シート以外の選択
-
Excelマクロのエラーを解決した...
-
ExcelVBA シート名を複数セルか...
-
VBAでオブジェクト変数にsetし...
-
ExcelのVBAのマクロで他のシー...
-
実行時エラー'1004': WorkSheet...
-
シートが保護されている状態で...
-
エクセルのマクロについて教え...
-
セルのコピーで「オブジェクト...
-
VBA 存在しないシートを選...
-
エクセル・マクロ シートの非...
-
エクセルのマクロについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のシートから値を取得するとき
-
ユーザーフォームに入力したデ...
-
Excelマクロのエラーを解決した...
-
excelのマクロで該当処理できな...
-
同じ作業を複数のシートに実行...
-
ExcelVBA シート名を複数セルか...
-
【ExcelVBA】全シートのセルの...
-
Excel マクロについての相談
-
VBA 存在しないシートを選...
-
実行時エラー'1004': WorkSheet...
-
特定の文字を含むシートだけマ...
-
ExcelのVBAのマクロで他のシー...
-
ブック名、シート名を他のモジ...
-
XL:BeforeDoubleClickが動かない
-
VBA 複数の各シートに行を追加...
-
エクセルのシート名変更で重複...
-
【Excel VBA】Worksheets().Act...
-
シートが保護されている状態で...
-
Excel VBA 複数行を数の分だけ...
-
for 文の 繰り返し処理に使える...
おすすめ情報