• ベストアンサー

エクセルのセルの編集制限(保護)の仕方

HohoPapaの回答

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.8

1.明示的に保存しないと機能しない点 空欄のセルに値を埋め、右上の×で閉じ 促してくる画面で保存した場合、 値を埋めたセルが保護されない動きになっている ということと思います。 これについてはごめんなさい。 私に誤解がありました。 ソースコードの冒頭を 変更前 Private Sub Workbook_AfterSave(ByVal Success As Boolean) 変更後 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) としてください。 2.シート保護に使うパスワードについて 保護はするものの、パスワードは設定しない。 という使い方をするのであれば、 変更前 Const MyPassword = "hoge" 'パスワード(省略可) 変更後 Const MyPassword = "" 'パスワード(省略可) としてください。 3.最初の仕込み 課題ブックを開き、マクロをコピペするわけですが 課題シートは、保護されていない状態にしてください。 シートを保護する作業はマクロが担いますから。 4.マクロの保護作業に無関係なセルたちについて >Const RowS = 16 'ロック範囲開始行 >Const RowE = 500 'ロック範囲終了行’ >Const ColS = 1 'ロック開始列 >Const ColE = 8 'ロック終了行 上記範囲外セルたちは、 手作業で、 シートの保護を解除し、 保護したい個所のセルはロック状態に、 保護したくない箇所のセルは非ロック状態にしてください。 その後、手作業であえてシートを保護する必要はありません。 シートを保護する作業はマクロが担いますから。

akira0723
質問者

お礼

助かりました。 保護をかけるのはできていたのですが、毎日作業する多数のファイルで入力時の解除はともかく、終了時の設定を忘れてしまうことが多く、たまたま設定忘れのファイルが見つかり改善要求があったものです。 これをマニュアルに残して当該事項は完了です。 当面は別の2つのファイルにも設定して、そのあとは多数ある他のBookにも随時展開することになります。 本当にありがとうございました。

akira0723
質問者

補足

お世話になります。 本当に何度もお手数をおかけします。 朝一で試してみたのですが、エラーメッセージがでて、デバックを見てみると下記の1行が黄色になり、やはりパスワード関連と思い、「Mypassuwod」を””に変えてみても・・・ .Unprotect Password:=MyPassword まで書いてふと従来の制限を解除していないことに気づき編集範囲の設定と保護設定を解除してみたらバッチリできました。 本当に何度もご丁寧なご指導に感謝!!!

関連するQ&A

  • EXCELで特定のセル以外を保護するのには?

    完成したブックの特定のセル(年と月を入れるとそのカレンダーが表示されるなどの場合年とか月を入れるセル)だけ入力できてそれ以外のセルは入力や編集や上書きが出来ないように保護をかけるにはどうしたらいいのでしょう? シートの保護にすると全部のセルが入力不可になりますし、データのチェックをはずすと全部のセルの入力編集上書きが出来てしまいます。 読み取り専用とか書き込み禁止のパスワードを設定しても上書き保存がされないというだけで、入力編集上書きが操作上できなくなるというわけではないのですよね? 上書き保存は出来てもOKなのですが、関数などが入ってるセルを誤って消したりしないように操作上特定のセルだけしか入力編集上書きができないようにするにはどうしたら一番よいのでしょうか? よい方法をご存知の方がいらしたら是非教えて下さいm(__)m

  • エクセルの1つのセルだけを保護したい

    エクセル2010でシートの保護と編集可能なセルの指定方法(セルのロックを外してシート全体を保護する)は知っているのですが、計算式の入った数個のセルだけを保護したいのですが。 一応、セルの書式設定で1つのセルだけロックを外して、シート全体を保護してみたのですが、この方法では駄目でした。 簡単に目的の(飛び飛び)のセルだけを保護する方法を教えてください。

  • EXCEL保護シートで、Σを使いたい。

    EXCEL2002のシートに保護をかけた時に、Σがグレーアウトして表示されません。 表示させるには、どのようにすればよいでしょうか? Σを入力するセルは、ロックをかけておらず、タテ(列)の合計を計算させます。 保護されたシートのすべてのユーザーに許可する操作は 「ロックされたセル範囲の選択」「ロックされていないセル範囲の選択」「セルの書式設定」「列の書式設定」「行の書式設定」「行の挿入」「行の削除」「並べ替え」にチェックをいれています。

  • 保護をかけたセルを並べ替えたい

    誤入力が無いようにシートに保護をかけました。 その状態でセルを並べ替える方法を教えてください。 「シートの保護」から「このシートのすべてのユーザーに許可する操作」で「並べ替え」にチェックを入れたのですが、「変更しようとしているセルまたはグラフは保護されているため、読み取り専用になっています。」とアラートが出て並び替えをすることができません。 何か用方法はありませんでしょうか。 よろしくお願いします。

  • Excel - シート保護と並べ替え

    シート保護をかけたExcelのブックで、並べ替えだけは行いたいのですが、保護の時点で「並べ替え」の許可にチェックを入れても、「読み取り専用です」の旨のポップアップが表示され、並べ替えができません。 セルの書式設定で「ロック」のチェックを外せば並べ替えはできましたが、これだと編集も可能となるので、シート保護の意味がありません。 シート保護をかけた状態で、並べ替えだけ可能となるような設定の組み合わせが、他にありますでしょうか。 宜しくお願いいたします。

  • エクセル_特定範囲のセルの入力制限

    エクセルについて教えてください。 範囲指定したセルのパターンや罫線の変更はOKだが、削除・編集はできないようにする(削除・編集しようとすると禁止のメッセージが出る) という規則を付けたいのですが、シートの保護、マクロ等いろいろ試しましたがうまくいきません。 『ロック解除&シートの保護』だと罫線変更まで出来なくなってしまいます。 マクロは初心者です。こんなの↓を見つけてきましたが、セルごとの指定で範囲指定できません。また複数セルを選択してDeleteするとDeleteできてしまいます。 Const cnsRANGE_C1 = "$E$2" ' ここで指定する If Target.Address = cnsRANGE_C1 Then MsgBox "このセルの値は、変更・削除できません" Application.EnableEvents = False Application.Undo Application.EnableEvents = True どうぞよろしくお願い致します。

  • エクセルの保護されたシート内のデータの編集について

    エクセルでC~E列のみロックをはずしてシートの保護を行いました。この状態でC~E列のデータを含むすべてのデータの「並べ替え」や、列を「表示しない」などの操作を行いたいのですが、シート全体が保護されているためできません。うまく操作する方法はありますか?セルの値のみが保護される状態が理想です。

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

    今、エクセル2003でワークシートのデータを変更できないように、 シートの保護を設定しているところを今勉強しています。 ただ、あるセル範囲だけ、たとえばB4からD6の範囲は編集できるようにしたいのです。 それで、B4からD6の範囲は書式メニュー→セルの保護タブで、 ロックチェックボックスをオフにしました。 それから、ツール→保護→シートの保護で、シートを保護しました。 この時、B4からD6の範囲は、ロックをオフにしたので、 編集可能になるはずですよね? だけど、B4からD6の範囲意外のセルと同様、 セルの書式を変更できないんです。 これだったら、B4からD6の範囲のロックをオフにした意味が ないんじゃないでしょうか? ロックをオフにするとどう違うのでしょうか? よろしくお願いします。

  • 計算式を保護したシートの並び替えについて @excel2007

    あちこちに計算式が入ってるシートがあり、その計算式が保護された状態で、行を並べ替えたくていろいろ試してるのですが、どうしてもできません。どなたかアドバイスお願いいたします。現在の状態は、 シート全体を選択してから「セルの書式設定」「保護」で「ロック」のチェックをはずし、 F5キー「セル選択」で数式にチェックしてOK→「セルの書式設定」「保護」で「ロック」にチェック「表示しない」にチェック、 「書式」「シートの保護」を掛ける。※ ※このとき、最初にシートの保護をかけたときは「ロックされたセル範囲の選択」「ロックされていないセル範囲の選択」だけにチェックをいれてOKしたのですが、後に、行の並べ替えをする必要がでてきたため、いったん、 「校閲」→「シート保護の解除」で保護解除し、あらためて「シートの保護」→「ロックされたセル範囲の選択」「ロックされていないセル範囲の選択」「「並べ替え」にチェックをいれてOKしました。 ただ、これで並べ替えを実行しようと「データ」→「並べ替え」すると、エラーメッセージ 「変更しようとしているセルまたは・・・保護されているため読み取り専用となっています。・・・シートの保護解除をクリックして・・・」がでます。 (注)このシートについて、保護は計算式だけでいいのですが、並べ替えは、計算式の入ってる列も、計算式が入ってない列も行う場合があります。 また、マクロについては無知なので、ご了承ください。 よろしくお願いします。

  • エクセルのセルの保護

    ワークシートの一部分のセル表を入力禁止状態にしたいのですが。。。「ツール」の「保護」使っても、シート全体の保護はできるのですが、一部分というのがうまくいきません。お教えください。