Workbooks.Addで作成されたブックの任意のシートについて
シート保護を解除してデータを転記したいと考えています。
Set addwb = Workbooks.Add(Template:=ThisWorkbook.Path & "\" & "さんぷる.xlsm")
addwb.Worksheets(1).Activate
addwb.Unprotect
上記、unprotectを記載していますが、動作時はシート保護が解除されていません。
シート保護の解除はどのようにしたらよろしいでしょうか?
No.1ベストアンサー
- 回答日時:
addwb.Worksheets(1)で参照したシートが実際に保護されている場合、addwb.Unprotectで保護を解除することができますが、もし保護されていないシートであればaddwb.Unprotectは効果を発揮しません。
そのため、シートが保護されているかどうかを確認してから、必要であれば保護を解除する必要があります。以下のように、ProtectContentsプロパティを使用して、シートが保護されているかどうかを確認し、保護されている場合はUnprotectメソッドを使用して保護を解除することができます。
Dim ws As Worksheet
Set ws = addwb.Worksheets(1)
If ws.ProtectContents Then
ws.Unprotect
End If
' ここでデータの転記を行う
If ws.ProtectContents = False Then
' 必要に応じて、保護を再設定する
End If
このように、保護されているシートにアクセスする際には常にProtectContentsプロパティを使用して、シートが保護されているかどうかを確認することが重要です。
ありがとうございました。
単純にaddwb.Unprotectの構文でworksheetsが抜けていました。
例文を書いていただいて気づきました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) ワイルドカード「*」を使うとうまくいかないマクロの添削をお願いします 3 2022/03/26 09:39
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/09 12:17
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/06/01 14:45
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/06/02 08:44
- Visual Basic(VBA) Excelのマクロコードについて教えてください 1 2022/03/27 12:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルでファイルを開いたと...
-
Excelで金銭出納帳。繰越残高を...
-
EXCEL:同じセルへどんどん足し...
-
エクセルの複数シートの保護を...
-
エクセルで前シートを参照して...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
エクセルVBAでパスの¥マークに...
-
VBAでシートコピー後、シート名...
-
複数シートの色付きセルがある...
-
EXCELで同一フォーマットのシー...
-
【Excel マクロ】関数での空白...
-
別シート参照のセルをシート毎...
-
エクセルVBA 串刺し計算の際、...
-
スプレッドシートの関数VLOOKUP...
-
複数シートの特定の位置に連番...
-
特定のシートの削除を禁止した...
-
エクセルのシート名をリスト化...
-
シートの保護のあとセルの列、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
前の(左隣の)シートを連続参...
-
Excelで金銭出納帳。繰越残高を...
-
EXCEL:同じセルへどんどん足し...
-
EXCELで1ヶ月分の連続した日付...
-
シートの保護のあとセルの列、...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで同一フォーマットのシー...
-
エクセルで前のシートを連続参...
-
エクセルで前シートを参照して...
-
VBAでシートコピー後、シート名...
-
Accessのスプレッドシートエク...
-
エクセルのシート名をリスト化...
-
複数シートの特定の位置に連番...
-
Excelのシートを、まとめて表示...
-
エクセル 計算式も入っていない...
-
スプレッドシートの関数VLOOKUP...
おすすめ情報