
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) SUMIFSと日付変換 10 2023/04/16 15:38
- Visual Basic(VBA) Sheet「状況」から、分類の年齢別カウント数をSheet「D表」へ転記する下記マクロを作っています 7 2022/12/14 17:57
- Visual Basic(VBA) EXCELのVBAについて 2 2023/07/05 17:17
- Visual Basic(VBA) VBA For Each 〜 複数条件について 3 2022/10/20 20:05
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- その他(プログラミング・Web制作) python文字化けエラーが発生しているようです 3 2022/04/13 19:41
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excel VBAでのWorksheet_Change...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
[Excel2003] マクロのユニコー...
-
記録したマクロを他のシートに...
-
エクセル マクロ 一定時間おき...
-
EXCELのマクロについて
-
Excelの操作の履歴を残す方法
-
excel定数の違いについて。xlAu...
-
エクセルVBAで実行中画面を...
-
エクセルのマクロでコマンドボ...
-
エクセルファイルを開いた回数...
-
「マクロが含まれているファイ...
-
エクセル:セル内の文字列の最...
-
エクセル シート内の一番下のセ...
-
【エクセル】フリーワード検索...
-
Excel UserForm の表示位置
-
Excelのフィルター後の一番上の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルで複数のシートのクリ...
-
マクロ1があります。 A1のセル...
-
Excelで数字を入れたら対応する...
-
Excelのシート上のShapeにイベ...
-
エクセル シート内の一番下のセ...
-
長い時間かかるマクロが実行中...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
EXCELのダイアログシートって、...
-
【エクセル】「実行時エラー’10...
-
Excelでセル内の文字をファイル...
-
セルの一部分だけを太字にする方法
-
エクセル マクロ 一定時間おき...
-
Excelにて、同じ画像を複数のセ...
-
前月分を次月シートに繰越でき...
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
excelで画像のハイパーリンクを...
おすすめ情報