• 締切済み

VBAエラー表示について

EXCELでキャッシャーを作りました。 入力できるセル以外を入力禁止にするためにシートを保護しております。 保護されたセルに入力すると実行時エラー ”1004” 終了、デバッグ、ヘルプのメッセージボックスが表示されます。 この表示を 「エラー:このセルは入力禁止です」 OK OKをコマンドボタンにして、アクティブにしておいて表示を消したいです。 エラーメッセージはどこでコントロールするのでしょうか。 初心者ですので何処をどうしたほうが良いのか教えてください。 具体的に説明していただくと助かります。

みんなの回答

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.2

n-junです。 >保護されたセルに入力すると実行時エラー >”1004” 終了、デバッグ、ヘルプのメッセージボックスが表示されます。 これはVBAでセルに値を入れようとして怒られているのでは・・・? 保護されたセルに直接入力しようとすると保護されている旨のメッセージが出るはずですし、 >保護されたセルに入力すると がどうなっているかですけど・・・

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

保護されているセルA1に代入しようとした場合なら、 On Error Resume Next Range("A1").Value = 123 If Err = 1004 Then MsgBox "エラー:このセルは入力禁止です" Else MsgBox "意図しないエラーが起きてます" End If On Error GoTo 0 こんな感じかな?

ygto1155
質問者

補足

n-jun様、早速の回答ありがとうございます。 まだ解決できませんのでお願いいたします。 個々のマクロボタンについては初心者ながら作っております。 このようなシート全体についての一般的な動作に関してではどこに書き込んでいいのか分かりません。 書く場合の書き方も教えてください。 また標準で出されるエラーメッセージはどこに書き込まれているのでしょうか? よろしくお願いいたします。

関連するQ&A

  • VBAのメッセージボックスで%表示

    お世話になります。 VBAにて、算出されたある数字をメッセージボックスで %表示したいのですが、エクセルシートであれば、表示させる セルを決め、そのセルの表示形式を「パーセンテージ」にすれば いいのですが、メッセージボックスで表示させたいのです。 可能なのかどうか分かりませんが、ご教示頂きたく宜しく お願い申し上げます。

  • EXCEL・VBAフォームの日付(表示形式を変更したい)

    VBA初心者です。フォームの中にテキストボックスを作成しています。規定値にあるシートのセルを表示しています。このセルは日付(西暦4桁)で入力しているのですがテキストボックスでは(西暦2桁)で表示されてしまいます。 FORMATというのを使用すればよいようなのですがどうつかえばいいのかわからないのです。 プロパティでテキストボックスのコントロールソースにそのセルを指定しています。 どのように記述すればよいでしょうか。 詳しい方教えていただけますでしょうか。 よろしくお願いいたします。

  • VBAでセルの数値の計算

    現在ユーザーフォームのテキストボックスに数値を入力し、コマンドボタンをクリックするとSheet1のセルのA1に数字が入り、その後例えばテキストボックスの数字を変更して再度コマンドボタンをクリックするとA2・A3と続けて数字が入ります。そこで、コマンドボタンをクリックするとSheet2のセルA1にSheet1のA列の数字の合計が表示されるようにするにはどうしたら良いでしょうか??

  • VBAでセル選択時に別シートのマスター一覧を表示させたい

    同じブックに ・データ入力シート ・品番マスター[1|A-100] ・部門マスター[1|関東] があるとします。 データシートの品番マスターのセルがアクティブになった時に メッセージボックスでも何でもいいのですが 品番マスターの一覧が画面上に表示されるようにしたいのです。 あわよくば、1と入力したらセルに1と入って メッセージボックスが自動で消えるようになればありがたいです。 このようなことがEXCELで可能かと できれば、VBA構文を教えていただければと思います 宜しくお願い致します

  • スクリプトエラーがでます

    あるHPを見るたびに このページのスクリプトでエラーが発生しました。 ライン:17 文字:2 エラー:オブジェクトでサポートされていないプロパティまたはメソッドです コード:0 このページのスクリプトを実行し続けますか? はい/いいえ 「はい」にしても「いいえ」にしてもHPを見ることはできません。 ヘルプを見て詳細設定タブで [スクリプトのデバッグを使用しない (Internet Explorer)] チェック ボックスおよび [スクリプトのデバッグを使用しない (その他)] チェック ボックスをオンにし、[スクリプト エラーごとに通知を表示する] チェック ボックスをオフにし、[OK] をクリックしましたが、変わりません。 どうしたらいいか、教えてください!

  • Excelでインデント設定のVBAがうまく動かず困っています

    Excel2003でデータ入力用シートを作りました。 セルの入力時に、ボタンをクリックしてインデントを自由に増減できるように下記のVBAをボタンに設定しました。 With Selection .HorizontalAlignment = xlLef .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = .IndentLevel + 1 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = True End with 通常はうまく動作するのですが、対象セル以外の操作禁止のため「シート保護」を設定したところ、入力セルでこのボタンをクリックしてもエラーが表示され動作しません。 入力セルは、ロックを解除しており入力や編集はできます。 シート保護したシートでも、インデントのボタンがうまく動くようにするには、何か手立てはありますでしょうか。 どうぞお知恵をお貸し願います。

  • VBAでエラーメッセージが出ないようにしたい

    book1にbook2のセルをコピーして貼り付け、book2を閉じようとしたところ、シートにリンクが張られているのか以下のようなメッセージボックスが出てきます ----ここから----------------- 移動またはコピーしようとしている数式またはシートには、移動またはコピー先のワークシートに既にある名前’xxx’が含まれています。この名前を使用しますか? コピーまたは移動先のシートに定義されている名前を使用する場合は「はい」をクリックします。 数式またはワークシートで参照する範囲の名前を変更する場合は、「いいえ」をクリックし、「名前の重複」ダイアログボックスに新しい名前を入力します。 ---------ここまで------------------ 取り敢えず「はい」をクリックして閉じているのですが、複数回このメッセージが繰り返し出てきて面倒なので、VBAでこのメッセージを出さないようにしたいのですが、どのようにすればよいのでしょうか?

  • Excelでのデータ入力規制とエラー表示

    氏名を入力するセルの入力規制とエラー表示を以下要件で行いたいです。 ・全角入力のみの制限 ・全角入力と全角スペースが1つ入力されていない場合メッセージボックスでエラー表示を出した ・できればマクロを使用せず実現したい 可能でしょうか? 可能であれば手法を教授頂きたいです。 よろしくお願いします。

  • エクセルシートの保護

    エクセルのシートに保護をかけたいのですが、 シートの中に、チェックボックスがあります。 チェックボックスの「コントロールの書式設定」で 「ロック」のチェックをはずしても、 シートの保護をかけると、チェックボックスにも保護がかかってしまいます。 シートの保護をかける時、 「データー」のチェックをはずすと、 チェックボックスにもチェックが入れられるようになるのですが、 それでは、他のセルにも入力が可能になってしまいます。 つまり、シート全体に保護をかけたいし、 当然、チェックボックスの機能も使いたいのですが、 セルの書式設定にある保護と フォーム・コントロールの書式設定にある「ロック」「文字列のロック」を、 どのように組み合わせればよいのでしょうか? そもそも、シート全体に保護をかけたいし、 チェックボックスの機能も使いたいのは、 可能なのでしょうか?

  • VBA

    シート2にあらかじめデータあ入力されており、 シート1のJ4にデータ内にあるワードを入力して、ボタンを押したら、 シート2とシート1の内容が一致したときにメッセージボックスでその内容が表示されるようにしたいのですが、 どうすればよいでしょうか?

専門家に質問してみよう