複数のシートで同時にシートの保護をする方法について

このQ&Aのポイント
  • エクセルデータを一括して保護する方法について調査していますが、複数のシートで同時に保護をかけることは難しいようです。マクロを使用する方法もありますが、詳しくない方には難しいかもしれません。
  • 現在、エクセルで出勤表を作成しています。31枚の日付シートと個人別のシート20枚、一覧状態のシート3枚があります。個別にまとめているシート20枚にキーワード付きのシート保護をしたいのですが、キーワードが共通であるため、セル設定でのロック解除は適さないようです。
  • より簡単な方法があれば教えていただきたいです。マクロの使用方法や他の方法についてもアドバイスをいただけると幸いです。
回答を見る
  • ベストアンサー

複数のシートで同時にシートの保護をしたい。

複数のシートで同時にシートの保護をしたい。 エクセルデータを一括して保護を掛けるやりかたはマクロで紹介されているページを多く拝見したのですが、一部を同時にというのはやはり難しいのでしょうか? 私はマクロのこともあまり詳しくはないのですが、可能な方法があれば楽なのにと思い投稿しました。 現在、出勤表をエクセルで製作しております。 1日~31日までシートが31枚 それを個人別にまとめているシートが20枚 さらに一覧状態にしているシートが3枚 となっており、個別にまとめているシート20枚にキーワード付きシート保護をしたいのです。 キーワードは全シート20枚共通として。 セル設定で日付シートのロックを外す方法も考えたのですが、検索語の置き換え機能が使えなくなるため いい方法が無いかと思っております。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答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

hirotee
質問者

お礼

ありがとうございます。 ロック、解除ができるよになりました。 マクロを初めて使ったのですが、これから少しずつ勉強しようと思いました。 本当にありがとうございます。

その他の回答 (2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答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

hirotee
質問者

お礼

ありがとうございます。 お陰さまでうまくいきました♪

hirotee
質問者

補足

保護解除時のマクロも合わせて教えていただけませんでしょうか? 宜しくお願い致します

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答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でシート保護されました。

hirotee
質問者

お礼

ありがとうございます。 こちらの式でも上手く行きました。

関連するQ&A

  • シートの保護

    いつも助かっています。 エクセル2003です。「ツール」-「マクロ」でデーターの移動をさせています。 今度、必要な元表のセルだけロックをはずし、シートに保護をかけました。 そして、いままでようにマクロをかけましたが、うまくいきません。ラジオボタンも保護から はずすには? 保護されたシート内でマクロをする手順は? よろしくお願いします。

  • Excel一覧シートから複数シートの作成

    EXCEL等で、情報一覧シートから、複数の個別情報シートを作りたいです。 例えば、情報一覧シートに10人の名前・住所の情報があるとすれば、 個々の名前・住所が指定のセルに記入されたシート10枚を、一覧の順に作る、という感じです。 下記リンクと逆のことを行えばいいと思いますが、方法がわかりません・・・ http://oshiete1.goo.ne.jp/qa3550265.html?ans_count_asc=20 情報一覧シートはCSVなので、excel以外にaccessなどでも可と思います。 マクロなどはわからないのですが、 出来る場合の方法、マクロの場合の簡単な解説などを ぜひ教えてください。よろしくお願いします。

  • エクセル2010のシート保護マクロについて

    すべてのシートを保護してくれるマクロを教えてほしいのですが、機能として 「ロックされていないセル範囲の選択」と「セルの書式設定」の二つの機能を許可したものを教えてください。また、逆にすべてのシートの保護を解除するマクロもお願いします。 エクセル初心者のため、見当はずれなことを聞いていたら申し訳ありませんが、いくら探しても上記のようなものを探すことができず、、、。シートが80ほどあるもので、困り果てています。 よろしくお願いします。

  • シートをまとめて保護・解除したい

    エクセル97、2000を使っています。 エクセルもシートが多くなると、その保護と解除が面倒で困っています。 いちいちシートを選択して保護と解除をしなければなりません。 マクロなどを使わずに、全てのシートを一度に保護・解除する方法はないでしょうか。シートの中にも保護してるセルとそうでないセルがあるので ブックを保護するわけにもいきません。

  • エクセルのシート保護について

    こんにちは エクセルでシートが複数あります。 普段はいじらないように保護をかけてあります。(パスワードは設定していません) 同時に編集をしたいので、シートの保護を解除したり設定したりをしたいのですが、複数のシートを同時に設定・解除できる方法はありますか? 普通にシートを複数選んでも保護をいじることができないのですが、何かいい方法があったら教えてください。

  • エクセル2013でシートの一部を保護

    エクセル2013で、40枚近いシートがあります。すべてのシートの一部を保護したいのですが、 一括して保護したり、解除する方法を教えてください。 シートの保護したいい箇所はすべて同じです。

  • Excelでsheetに保護をかけたらマクロは動きませんか?

    マクロ初心者です。 Excelでsheetに保護をかけてしまうとマクロは動か なくなるものなのでしょうか?ちなみに、マクロで コピー等の処理を行うセルのロックは解除しておいた のですが…。 sheetを2つ作って、一方の保護付きsheetに情報を 入力をしておき、もう一方の保護無しsheetに同じ 情報をコピーした上でマクロ処理させる、という 方法は考えたのですが、もっとスマートな方法を ご存知でしたら教えて下さい。よろしくお願い致し ます。

  • エクセルシートを分割でPDFファイルにする方法(マクロで)

    エクセルのsheetをマクロをつかって、 シート一つ一つを個別にPDFファイル作成し、 一括してシート名で保存させる 都合のいい方法はありませんか? できればマクロ初心者なので、 マクロそのままを教えてください!!

  • シートの保護

    お世話になります。 エクセルシートに保護をかけたいのですが、 シート内に、マクロの実行ボタンを作成しており、 そのボタンだけは実行できる様にしたいのですが、 やり方が分かりません。教えて頂きたく宜しく お願い致します。

  • エクセルのシートの保護について

    エクセル2000を使っています。 シートの保護をした場合行や列の挿入を可能にする方法がないでしょうか? 部分的にロックしている為保護は欠かせなくなっています。 よろしくお願い致します。

専門家に質問してみよう