• ベストアンサー

マクロでエラーメッセージの出し方

マクロでA2のセルを別のセルに移動しつつ他の処理も同時進行するのですがA2が未入力であった場合に、すべての処理を実行せずに”○○を入力してください”とエラーメッセージを出すことはできますか?

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

>A2のセルを別のセルに移動しつつ他の処理も同時進行するのですが これらを、マクロでできるのでに、メッセージの出し方が分からないというのは……?以下のような意味では違うのでしょうか? Sub test() If IsEmpty(Range("A2")) Then   MsgBox "A2が、未入力です", vbCritical End If End Sub それとも、On Error のトラップで、ジャンプさせることなのでしょうか?

nanasupra
質問者

お礼

このような意味です。 ありがとうございます。 空白がemptyと知りませんでした。 blankだとばっかり・・・。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • Traja
  • ベストアンサー率19% (107/546)
回答No.1

MSGBOX関数を使用しましょう。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マクロ無効で開くとエラーメッセージが出ます

    マクロ付のExcelファイルを(マクロを動作させずに)編集したくて、マクロのセキュリティを「中」にした上で「マクロを無効」を選択してファイルオープンしても、セルの値を変更するたびに「このプロジェクトのマクロは無効に設定されています」のエラーメッセージが出てきます。 1つ1つのセルを変更するたびに出てくるのでかなり煩わしいです・・・ このメッセージを出力させずに、マクロ付のファイルをマクロ無効で編集するには、他に何か設定が必要なのでしょうか? もしくは、マクロを有効でファイルオープンしても、シート上のコントロールを選択することは可能でしょうか? (例えばシート上にあるボタンのプロパティなどを見たい場合に、ボタンを選択しようと思っても、マクロが有効だと「クリック」する動作しかできなくなりますが、それを「選択」することは可能でしょうか?) よろしくお願いします。

  • 空白セルのメッセージボックスでの知らせるマクロ

    はじめまして。下記のExcelについて教えてください。 セルA1からA10の間にデータが入力されているセル、入力されていないセルが混在している場合、データが入力されていないセルをメッセージボックスで知らせるマクロの作成の仕方を教えてください。 空白セルが2つある場合はメッセージボックスは2回表示されます。 ずっと考えていても、分からなくて。。。どうか教えてください。

  • エクセル マクロ 入力制限について

    検索で探したのですが、うまくヒットしないため、質問させていただきます。 エクセルのセル入力制限についての質問です。 D1セルが空白でなかったら、A1・B1・C1に入力できないようにする と言う条件です。 それを、D1セルだけでなく、行すべてに適用したいのですが、 (D2 に入力されていたら、A2・B2・C2を入力できなくする) マクロで処理できるでしょうか? マクロ実行は、オープンしたときに実行するようにしたいと考えております。 ご教授お願いします。

  • マクロが実行されるセル範囲の変更を簡素化したい

    excel 2016を使っています。 例えば、ボタンを押すと指定したセルA1~A10までに入力されている数値を昇順に並べ替えるマクロがあるとします。 この数値が入力されているセルA1~A10の範囲をドラックして、D1~D10の位置に移動すると、マクロが実行される範囲を新たにD1~D10に指定しないとならないのですが、マクロが実行される範囲をA1~A10の範囲に固定して、別の場所に移動してもマクロを修正しなくても良い方法はありますか。

  • エクセルのマクロでメッセージを表示させたい

    エクセルでセルC2~C10までそれぞれデータを入力します。その時に必須入力項目であるC2とC5が空欄だった場合にメッセージを表示させるマクロを作成したいのですが? マクロは全てのデータ入力が終わった後に「入力確認」というボタンを作ってそこに登録しようかと思っています。 初心者なので他に良い作成方法等があったら教えてください。

  • エクセルマクロで、エラー処理時にセルに色をつける方法

    エクセルマクロで、エラー処理時にセルに色をつける方法 エクセルマクロでファイルを移動する処理を行っています。 A1セルには共通のパスがあり、 A2セルには「旧ファイル」というタイトル、B2セルには「新ファイル」というタイトルが入っています。 そして、A3セルから下に向かって移動元のファイルのパス&ファイル名が入力されています。 B3セルから同じく下に向かって移動させたい先のパス&ファイル名が入力されています。 教えていただきたいのは、考えられるエラーが起こったときに 処理を途中で止めずにエラーの出た行(B列の)に色をつけ 次の処理に進む方法です。 考えられるエラーとは 1 旧ファイルが見つからない場合 2 新ファイルが移動先に既にある場合です。 下記のコードでエラー内容を表示させるまではできたのですが 1と2の場合分けをどうしたらいいかわかりません。 1の場合と2の場合の色をわけることができたら最高なのですが… どなたか教えてください。 よろしくお願いします。 Sub test() Dim i As Long On Error GoTo ErrorHandler i = 3 Do Until Cells(i, 1).Value = "" Name Range("A1").Value & Cells(i, 1).Value As Range("A1").Value & Cells(i, 2).Value i = i + 1 Loop Exit Sub ErrorHandler: MsgBox Err.Description End Sub

  • エクセルで特定のセルを選択したい(マクロ)

    以下のようなマクロを組もうとしていますが、出来ません。 sheet1において 1)マクロを実行すると、メッセージボックスが出る。 2)メッセージボックスに入力した文字と同じ文字が入力されているセルを選択する。 3)2)のセルの1行下のセルを選択する。 2)で必ずエラーが出てしまいます。どのような方法が良いのか教えていただけるとありがたいです。よろしくお願いします。

  • java実行時のエラーメッセージについて

    パソコンはWindows98です。例外処理が組み込まれていないGUIアプリケーションをMS-DOSを使って実行した場合、数字を入力するべき所にアルファベットを入力すると当然MS-DOSにエラーメッセージが表示されますが、MS-DOSにはスクロールバー機能がなく、全てのメッセージが画面内に収まらず最初のほうのメッセージを見ることができません。>java で実行する時に、エラーメッセージファイルを作成するようなコマンドなど、全てのエラーメッセージを見る良い方法を教えてください。

    • ベストアンサー
    • Java
  • マクロで発生するエラーを無視するには

    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) Dim CellRange As String, S As String CellRange = "A1:D5" ActSheet = ActiveWorkbook.ActiveSheet.Name '現在開いているシート名を取得 ActSheet = Left(ActSheet, 5) 'シート名から「Sheet」の部分だけ抜き出す Set r = Intersect(Target, Range(CellRange)) If Not (r Is Nothing) Then Application.EnableEvents = False For Num = 1 To 3 S = ActSheet & Num Worksheets(S).Range(r.Address).Value = r.Value Next Application.EnableEvents = True End If End Sub シートSheet1、Sheet2、Sheet3がある時に、 あるシートのセル範囲A1:D5の中のセルに値が書き込まれたら、他のシートの同じ位置に同じ値を入力させるコードです。 このコードは過去に質問した時に教えていただいたもののほぼコピーです。 値を入力し、確定後にシートを切り替えることで正常に動作します。 ただし、セルに値を入力したが『確定していない状態』でシートを切り替えるとエラーが発生して止まります。 エラーメッセージは「実行時エラー'1004' Intersectメソッドは失敗しました。'_Global'オブジェクト」と出ます。 確定せずにシートを切り替えたのだからエラーが出るのは当たり前だと思うのですが、 なんとかエラーが出ないようにする方法は無いでしょうか。 欲を言えば、 シートを切り替えた時点でセルに入った未確定の値は確定扱いになって、 『他のシートの同じ位置に同じ値を入れる』のマクロが正常に動作するのが最も望ましいですが、 不可能な気もするので、 未確定の状態でシートを切り替えた場合は『他のシートの同じ位置に同じ値を入れる』のマクロは実行されなくても良いです。 ただエラーメッセージが出て止まってしまうのを避けたいです。 「エラーが出た時にエラーメッセージの「終了」を押す」というマクロが組めればそれでも問題ないのですが、 流石にその操作は「マクロを記録する」では記録してくれませんでした。

  • 【Excel】マクロでメッセージを表示する

    Excel2003を使用しています。 Aという名前の一覧表を作成するマクロがあります。 マクロAは『Sheet1』を選択した状態で正しく実行されますので、うっかり他のシートを選択した状態で、マクロAを実行してしまうと、一覧表が正しく作成されません。 こうなった場合、誤って作成された一覧表を消去して、もう一度やり直せば済むことなのですが、『Sheet1』を選択していない状態でマクロAを実行しようとすると、何かメッセージ(例えば、“Sheet1を選択後、実行してください”みたいな)が表示されるようにすることはできるでしょうか? 参考書にダイアログボックスにメッセージを表示させるマクロが載っていましたので、マクロAにそのようなコードを追加する(?)ことで可能かな??と思い、質問させていただきました。 よろしくお願いします。

専門家に質問してみよう