![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
複数のシートで同時にシートの保護をしたい。
エクセルデータを一括して保護を掛けるやりかたはマクロで紹介されているページを多く拝見したのですが、一部を同時にというのはやはり難しいのでしょうか?
私はマクロのこともあまり詳しくはないのですが、可能な方法があれば楽なのにと思い投稿しました。
現在、出勤表をエクセルで製作しております。
1日~31日までシートが31枚
それを個人別にまとめているシートが20枚
さらに一覧状態にしているシートが3枚
となっており、個別にまとめているシート20枚にキーワード付きシート保護をしたいのです。
キーワードは全シート20枚共通として。
セル設定で日付シートのロックを外す方法も考えたのですが、検索語の置き換え機能が使えなくなるため
いい方法が無いかと思っております。
宜しくお願い致します。
No.3ベストアンサー
- 回答日時:
回答No2です。
保護したシートを解除するのでしたら次のようなマクロになりますね。
Sub シートの保護の解除()
Set WS1 = Worksheets("Sheet1")
Dim RowPos As Integer
Application.ScreenUpdating = False
For RowPos = 1 To 20
If WS1.Cells(RowPos, "A") = "" Then Exit For
Worksheets("" & WS1.Cells(RowPos, "A") & "").Activate
ActiveSheet.Unprotect Password:="1234"
Next
WS1.Activate
Application.ScreenUpdating = True
End Sub
ありがとうございます。
ロック、解除ができるよになりました。
マクロを初めて使ったのですが、これから少しずつ勉強しようと思いました。
本当にありがとうございます。
No.2
- 回答日時:
例えばシート1のA1セルからA20セルに保護をしたいシートの名前を入力しておきます。
そこで次のようなマクロを実行することでそれらのシートが保護されます。
Sub シートの保護()
Set WS1 = Worksheets("Sheet1")
Dim RowPos As Integer
Application.ScreenUpdating = False
For RowPos = 1 To 20
If WS1.Cells(RowPos, "A") = "" Then Exit For
Worksheets("" & WS1.Cells(RowPos, "A") & "").Activate
With ActiveSheet
.EnableSelection = xlUnlockedCells
.Protect Password:="1234", UserInterfaceOnly:=True
End With
Next
WS1.Activate
Application.ScreenUpdating = True
End Sub
No.1
- 回答日時:
hiroteeさんこんばんは。
merlionXXです。「一部を同時に」という意味は、54シート中の20シートにだけ保護をかけるという意味なんですね?
マクロで一括してやりたいなら、名前か何かでその20シートを他のシートと識別する必要があります。
たとえば、日にちのシートの名前はすべて"日"で終わっている。
一覧状態のシートには"○○一覧△△"と、一覧という文字が入っている。
その定義に当てはまらないシートがシート保護の対象の個人別のシートになる。
もし、このように識別が可能なら簡単です
Sub TEST01()
Dim ws As Worksheet
For Each ws In Worksheets
If Right(ws.Name, 1) <> "日" And InStr(ws.Name, "一覧") = 0 Then
ws.Protect Password:="merlion", DrawingObjects:=True, Contents:=True, Scenarios:=True
End If
Next ws
End Sub
これでパスワードがmerlionでシート保護されました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルでファイル保存時に複数シートのオートフィルタを全て解除したい 1 2023/05/10 13:23
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/03/01 15:44
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) エクセルのマクロで複数シートを両面印刷するには? 2 2022/12/08 23:23
- Excel(エクセル) 複数セルデータを別シートの単一セルにコピーしたい。(詳細をご参照ください) 1 2022/12/14 15:08
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Excel(エクセル) エクセルシートのデータを1列飛ばしで別ブックのシートに貼り付けるマクロが知りたい 2 2023/06/05 22:37
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルのオートフィルターのしぼりをクリアーしたい 2 2022/12/24 08:36
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでシートコピー後、シート名...
-
EXCEL:同じセルへどんどん足し...
-
エクセルでファイルを開いたと...
-
Excelで同じシートのコピーを一...
-
エクセル マクロでシート自動...
-
前の(左隣の)シートを連続参...
-
別シート参照のセルをシート毎...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルの複数シートの保護を...
-
エクセルでファイル保存時に複...
-
エクセルVBAでパスの¥マークに...
-
EXCELで同一フォーマットのシー...
-
Accessのスプレッドシートエク...
-
エクセルでシート名を自動入力...
-
エクセルの同ファイル内の一つ...
-
エクセルで前シートを参照して...
-
[Excel]保護されたシートのマク...
-
シート名ではなく、相対位置で...
-
エクセル計算式解説
-
VBA セルの値と同じ名前のシー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで同じシートのコピーを一...
-
エクセルの複数シートの保護を...
-
エクセルVBAでパスの¥マークに...
-
EXCEL:同じセルへどんどん足し...
-
VBAでシートコピー後、シート名...
-
別シート参照のセルをシート毎...
-
エクセルでファイルを開いたと...
-
EXCELで1ヶ月分の連続した日付...
-
エクセルで前のシートを連続参...
-
前の(左隣の)シートを連続参...
-
Excel、同じフォルダ内のExcel...
-
Excelで金銭出納帳。繰越残高を...
-
エクセルで前シートを参照して...
-
複数シートの特定の位置に連番...
-
Accessのスプレッドシートエク...
-
シートの保護のあとセルの列、...
-
EXCELで同一フォーマットのシー...
-
特定のシートの削除を禁止した...
-
Excelのシートを、まとめて表示...
-
エクセルで複数設定したハイパーリンク先...
おすすめ情報