• ベストアンサー

Excelで表示されるメッセージ内容を変更したい

1行目のタイトル行の変更を禁止したくて、シートの保護をしました。 (2行目以降のデータ行はロックを外しています) この場合、タイトル行のセルを選んで書き込みを行なおうとすると“変更しようとしているセルまたはグラフは保護されているため、読み取り専用となっています。保護されているセルまたはグラフを変更するには・・・・”というメッセージが表示されるのですが、このメッセージを、例えば“タイトル行の変更、削除、挿入は出来ません。”等、カスタマイズすることは出来るのでしょうか? 可能であれば、やり方を教えて頂けませんでしょうか? 宜しくお願いいたします。

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

  • ベストアンサー
回答No.2

Excelのシステムメッセージは変更できないと思いますので、次のよう なシートモジュールで代用されたらいかがでしょうか。 Private Sub Worksheet_SelectionChange(ByVal Target As Range)  Dim rng  For Each rng In Selection   If rng.Row = 1 Then    Select Case Selection.Rows.Count     Case Is = 65536      Cells(2, Selection.Column).Select     Case Else      Selection.Offset(1, 0)(1).Select    End Select    MsgBox "タイトル行を含む範囲は選択できません。", , "選択禁止!"    Exit Sub   End If  Next End Sub

cororon3
質問者

お礼

なるほど!! シートの保護機能は使わずに、一行目を変更しようとしているかどうか判断して、メッセージを出せば良いのですね。 確かにその通りですよね。 シートの保護機能に固執しすぎていました。 ご丁寧な回答ありがとうございました。 チャレンジしてみます。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

第1行を指定しているか、なら 簡単に1行で Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Application.Intersect(Target, Range("A1:k1")) Is Nothing Then Else MsgBox "第1行範囲指定禁止" Range("A2").Select End If End Sub 上記コードは、K列までに仮定しているが、最右列を指定のこと。 少数テストでは、これで色々なケースをカバーできるようだが。

cororon3
質問者

お礼

どうもありがとうございます。 お礼が遅くなり、申し訳ございません。 私のやりたいことがバッチリできました。 こんなに短いコードでも出来るのですね。 もっと勉強します。 本当にどうもありがとうございました。

回答No.4

私も最初はkokoroneさまのようにシンプルな内容で記述してみたのです が、少々問題がありました。 例えば最初にA2をクリックしてA1までドラッグすると、アクティブセル はA2になりますので条件の対象外になってしまうのです。 そのように操作するケースは少ないとは思うのですが、一応念のために 継ぎ足し継ぎ足しをして長くなってしまいました。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.3

Private Sub Worksheet_SelectionChange(ByVal Target As Range) If ActiveCell.Row = 1 Then MsgBox ("タイトル行は変更できません。") Range("A2").Select End If End Sub 試してみました。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

できるできないは別にして、アプリケーションの固定メッセージ を変更してしまっては、後々面倒ですよね。 マクロ(VBA)で代用されてはいかがですか? まずは、考え方をお教えします。 第1行が選択されたかどうか判断します。 第1行が選択された場合、アラートメッセージを表示し、 2行目にアクティブセルを設定します。

関連するQ&A

  • EXCELマクロ 保護されているシートのダイアログを表示させない方法

    いつもお世話になります。 EXCEL2000のマクロについて質問です。 ボタンでシート保護や保護の解除をしています。 (データ確定後に変更させないため) 保護されているときにシートをダブルクリックとすると EXCELより「変更しようとしているセルまたはグラフは保護されているため読み取り専用となっています。・・・変更するには・・・」 のメッセージが表示されます。 このメッセージを表示したくない場合はどうすればよいでしょうか。 Application.DisplayAlerts = False ではできませんでした。 EXCEL2002以降ではロックされたセルの選択の許可のチェックを外すことでできそうなのですが、2000にはそのような選択肢がありません。 どうぞ宜しくお願い致します。

  • Excel 保護の為読み取り専用の解除方法

    Excel 2000 win2000pro 6000行目以降が下記のエラーが発生し編集できません どのようにすればいいのでしょうか? 「変更しようとしているセルまたはグラフは保護されているため、読み取り専用となっています。 保護されているセルまたはグラフを変更するには、[シート保護の解除]コマンド([ツール]メニューの[保護]サブメニュー)を使用してください。」

  • エクセルで

    いくつかの表の一部のセルのロックをはずして、その後シートを保護していわゆる「保護されたセル」と「保護されてないセル」を同じシート上に作ったのですが、「保護されてないセル」にいちいちカーソルを合わせて「数式と値のクリア」するのが面倒くさいのでそのいくつかの表全部を反転させていっぺんに「数式と値のクリア」すると「変更しようとしているセルまたはグラフは保護されているため、読み取り専用となっています」と出てできません。 いちいち、「保護されてないセル」にカーソルを合わせるしかないのでしょうか。

  • シートが保護されている状態で、セルを選択した時に表示されるメッセージ

    シートが保護されている状態で、セルを選択した時に表示されるメッセージ ”変更しようとしているセルまたはグラフは保護されているため、読み取り 専用となっています。・・・”の表示を抑制する方法はありますか。 Application.DisplayAlerts = False を設定しても、表示されてしまいました。 以上、よろしくお願いします。

  • Excelのシート保護について

    Excelで式を設定している行を保護するため「シート保護」をしてあります。但し、シート保護時に「行挿入」「行削除」は許可にしているのですが、次の操作がうまくいきません。  ・単純な行挿入はできますが、行削除ができない。  ・ある行をコピー後、挿入ができない。 行の中には入力してもいいセルが有るので、ロックをかけているセルと、かけていないセルがあります。 何か解決方法がありましたらご教授お願い致します。

  • 《エクセル2000》特定のセルだけ上書き禁止にしたい

    タイトルの通りですが、任意のシートの特定のセルのみ、変更禁止にしたいです。(数にして1シートあたり30くらい) ただし、「特定のセル」以外のセルは文字色やセルの色など、書式を変える必要があるので、「シートの保護」は使えません。 「セルのロック解除」+「シートの保護」以外の方法で、特定のセルのみを保護する方法はあるでしょうか。

  • Excelのシートの保護について

    Excelのシートの保護について教えてください。 シートのセルごとに保護をかけました。 セルの書式設定→保護→ロックのチェックをつけて ツール→保護→シートの保護 というふうにしました。 セルの書式設定の保護のロックのチェックを 外したところは入力ができるようになり、 ロックのチェックをつけて保護をしたところには 入力しようとすると「変更しようとしているセルまたは・・・」と メッセージが出るようになると思うのですが、 一部のセルだけ入力しようとすると上記のメッセージが出て、 OKをクリックしてもずっとメッセージが出続けて、 タスクマネージャで終了しないと作業できなくなってしまいます。 原因がわからず困っています。なにか設定が悪いのでしょうか? 教えてください。よろしくお願いします。

  • エクセルのセルロック

    エクセルのセルのロックについて質問です。 セルの参照、セルの選択、行の挿入のみを許可してロックをかけたシートに行を追加した際、その追加した行だけは編集可能な状態になっている、というステータスを作りたいです。 シートの保護で、ユーザに許可する操作のところで上記3つにチェックを入れた状態では、行の挿入はできますが、挿入した行が編集できません。 編集用の行を予めいくつか入れておいてその部分だけ編集可能にしておけば回避はできますが、上記設定が可能でしたらその設定をしたいと思います。 設定方法をご存じの方、いらっしゃいましたらご教示頂きたいと思います。

  • EXCELのオプションボタンの使い方をおしえて!

    EXCEL2003でオプションボタンの使い方を教えてください。 添付画像のように,項目名として「氏名」,「年齢」,「性別」,・・・・「住所」があります。 入力の方法は,「性別」については,EXCELのオプションボタンを使って,男性か女性かを選び,そのほかの項目(氏名~住所)については入力してもらうようにします。 黄色以外の項目のセルについては,「□ロック」のチェックをオンにして, 黄色の部分のセルについては,「□ロック」のチェックをはずします。 そしてシートに保護をかけます。 この時,男性か女性かを選ぼうとすると, 「変更しようとしているセルまたはグラフは保護されているため,読み取り専用となっています。・・・・」 のメッセージが表示され,うまく動作してくれません。 シートを保護しないと,オプションボタンの機能はうまく動作しますが,シートを保護するとうまく動作しません。正しい使用方法を教えてください。

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

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

専門家に質問してみよう