
EXCELのVBA初心者です。
現在、sheet数11(sheet1から10が各担当の月別、商品別売上げ、sheet11が各担当のsheetから月別に商品毎、売上合計を集計)のEXCELを作成しました。
各担当毎の行数、列数も比較的多いことから、列と行をグループ化しています。
また、いくつかのセルで計算式(例えば売上個数と単価)を設定しています。
※各担当毎の書式や計算式を設定したセルはすべて同じ
このEXCELファイルを共有化して、複数人で処理すること、また、コピペなどにより計算式を削除されないようにシートに保護をかたところ、グループ化のコマンドが操作できなくなってしまいました。
いろいろ調べたところ、以下のVBA(マクロ)で解決できると知ったのですが、このマクロでは、設定したsheetのみにしか対応できません。
複数のsheet(今回はSheet1からsheet10まで、sheet11は不要)に対応させるにはどうすればよいのでしょうか?
どなたかご教授いただけると助かります。
調べたマクロ
**************************************************************************
Private Sub Workbook_Open()
Sheets("Sheet1").EnableOutlining = True
Sheets("Sheet1").Protect Password:="****", DrawingObjects:=True, _
contents:=True, UserInterfaceonly:=True
End Sub
**************************************************************************
No.1ベストアンサー
- 回答日時:
こんばんは。
以下は、ThisWorkbook モジュール貼り付けます。
このマクロは、Sheet12 以上であっても、Sheet11のみを除外して保護設定します。
'//
Const PSWD As String = "****" '私の場合は、いつも外に置きます。
Private Sub Workbook_Open()
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
Select Case ws.Name
Case "Sheet11" '除外するシート名
Case Else
ws.EnableOutlining = True
ws.Protect Password:=PSWD, DrawingObjects:=True, _
Contents:=True, UserInterfaceOnly:=True
End Select
Next ws
End Sub
'//
'おまけ(同じモジュールで使ってください。)
Sub OpenProtect()
'解除用
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Unprotect Password:=PSWD
Next
End Sub
回答ありがとうございます。
また、お礼が遅くなりすみません。
アドバイス頂いた通り設定したのですが、何故だかうまくいきませんでした。
取り敢えず、もう少し試行錯誤したいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルファイルを開いた回数...
-
エクセルでシートを保護すると...
-
エクセルで複数のシートのクリ...
-
EXCELのダイアログシートって、...
-
EXCEL VBA で年間カレンダーを...
-
マクロの相対セル参照記録って?
-
【エクセル】フリーワード検索...
-
前月分を次月シートに繰越でき...
-
セルの一部分だけを太字にする方法
-
Excelの画像を拡大表示にするには
-
長い時間かかるマクロが実行中...
-
【エクセル】「実行時エラー’10...
-
VBA初心者です。 仕事の残業を...
-
Excel UserForm の表示位置
-
Excelのフィルター後の一番上の...
-
「段」と「行」の違いがよくわ...
-
マクロ実行後に別シートの残像...
-
あああ..ああい..ああう とい...
-
Excelで、あるセルの値に応じて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルファイルを開いた回数...
-
エクセルで複数のシートのクリ...
-
エクセルで特定の行だけ行削除...
-
Excelで数字を入れたら対応する...
-
EXCELのダイアログシートって、...
-
セルの一部分だけを太字にする方法
-
長い時間かかるマクロが実行中...
-
Excelのシート上のShapeにイベ...
-
【エクセル】フリーワード検索...
-
マクロ1があります。 A1のセル...
-
【エクセル】「実行時エラー’10...
-
エクセル シート内の一番下のセ...
-
シートではなくBOOK間で重複し...
-
「マクロが含まれているファイ...
-
Excelにて、同じ画像を複数のセ...
-
前月分を次月シートに繰越でき...
-
エクセルのワークシート(テン...
-
エクセル:セル内の文字列の最...
-
Excelでセル内の文字をファイル...
おすすめ情報