• ベストアンサー

もしセルが"#N/A"なら~をする・・・には?

Excel2002VBAで、 「指定セルにエラーの"#N/A"が出ている場合~の処理をする」という場合、 If range("a1")="#N/A" then としたら、型が一致しません エラー13と出ました。 どのようにすればうまくいくのでしょうか?

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

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

やって見ると,意外に Sub test03() If Range("a1").Text = "#N/A" Then MsgBox "#N/A エラー" End If End Sub で良いようです。 関数なら=ERROR.TYPE(A1)で"#N/A は 7 です。

myomyon
質問者

お礼

ありがとうございます。これでもできました。 .Textにすればよかったんですね。

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

その他の回答 (4)

  • papayuka
  • ベストアンサー率45% (1388/3066)
回答No.4

ヘルプからの抜粋です。 With ActiveSheet If IsError(.Range("A1").Value) Then   errval = .Range("A1").Value   Select Case errval     Case CVErr(xlErrDiv0)       MsgBox "#DIV/0! エラー"     Case CVErr(xlErrNA)       MsgBox "#N/A エラー"     Case CVErr(xlErrName)       MsgBox "#NAME? エラー"     Case CVErr(xlErrNull)       MsgBox "#NULL! エラー"     Case CVErr(xlErrNum)       MsgBox "#NUM! エラー"     Case CVErr(xlErrRef)       MsgBox "#REF! エラー"     Case CVErr(xlErrValue)       MsgBox "#VALUE! エラー"     Case Else       MsgBox "これはセルのエラーではありません。"   End Select End If End With

全文を見る
すると、全ての回答が全文表示されます。
  • edomin
  • ベストアンサー率32% (327/1003)
回答No.3

#1です。 ワークシート関数の「ISERROR」を使用すれば良いみたいです。

全文を見る
すると、全ての回答が全文表示されます。
  • gatyan
  • ベストアンサー率41% (160/385)
回答No.2

ちょっと長いですが、 If Application.WorksheetFunction.IsNA(Range("a1")) Then

myomyon
質問者

お礼

ありがとうございます。うまくいきました。 単純に文字列を認識するだけでは駄目みたいでした。

全文を見る
すると、全ての回答が全文表示されます。
  • edomin
  • ベストアンサー率32% (327/1003)
回答No.1

VBAのHELPで「セルのエラー値」を検索してみてください。

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

関連するQ&A

  • #N/Aの文字を削除するには

    お世話になっております。 #N/Aの文字を含む行を削除するため以下のようなマクロ(Excel)を組みました。 Dim i As Long With Range("C1") For i = .CurrentRegion.Rows.Count To 1 Step -1 If .Offset(i, 2) = "#N/A" Then .Offset(i, 5).EntireRow.Delete Next i End With 当然かもしれませんが、IF文の ".offset(i,2)="#N/A""のところで「型が一致しません」とエラーが出てしまいます。 シート上で#N/Aは数式でなく値として記録されています。 どのようにすればエラーを回避できるでしょうか。 よろしくお願いします。

  • VBA:結合されたセルに対する「Target」について

    Private Sub Worksheet_Change(ByVal Target As Range)   If Target = "" Then     MsgBox "空欄です"   End If End Sub 上記コードで、セルにカーソルを合わせてDeleteキーを押すと正常にメッセージが表示されます。 ただし、カーソルを合わせたセルが結合されていた場合、 「型が一致しません」というエラーで停止してしまいます。 結合されているセルに対しても同じ処理をするには、   If Target = "" Then の部分をどのように指定すればよいでしょうか。

  • エクセルVBAで#N/Aのようなエラー値を含むセルの検出は

    エクセルVBAでセルに#N/Aのようなエラー値を含む場合Ifを使った構文で制御したいのですが、エラー値であるかどうかを調査するにはどうすれば良いでしょうか。教えてください。

  • セルの値が「#VALUE!」の場合 vba

    セルの値が「#VALUE!」の場合、 VBAで If Cells(lastRow, Col_本体価格) = Empty Then とすると、 「実行時エラー 13 型が一致しません。」 となります。 セルの値が「#VALUE!」の場合でも、 VBAでifステートメントを使えるようにするには どうすればいいですか?

  • 【VBA】改行されたセルの条件

    VBAにてA1のセルが画像のように改行されたセルであっても条件式で処理を行うようにしたいのですがうまくできません。 ↓式のように作成はしてみました どうしたら改行されたセルでも処理が行えるのでしょうか? Sub test() If Range("A1") = (行1行2の場合) Then 処理 End If End Sub

  • VBA マクロで”#N/A”のエラーに関する質問

    Excel2003を使用してマクロを組んでる者です。 セル内の値をとって変数に格納し比較処理など行っています。 シート内のあるセルに「#N/A」などエラー算術が存在した場合マクロで宣言した変数型に合わず格納できずエラーがでます。 型はVariant型にしてます。。 いろんな型を試しましたがだめです。 質問はエラー算術に対応した型があるのでしょうか、またこのエラー算術を無視できるロジックってございますか? よろしくお願い致します。

  • VBA エクセル #N/Aで実行時エラー 13 型が一致しません

    お世話になります。 あるマクロを実行しようとすると、#N/Aのセルに来ると「実行時エラー 13 型が一致しません」とエラーが出てしまいますので、#N/Aを?に書き換えようと下記のマクロを作りましたが結果は同じでした。たぶんとんでもなく初歩的なミスだと思うのですが、どう対処すればよいのでしょうか?よろしくご指導くださいませ。 セルの内容は縦にこんな感じで並んでいます。 755754 755754 #N/A #N/A 713512 713512 マクロは Sub reword() Dim i As Long i = 1 Do Until Cells(i, 1).Value = "" If Cells(i, 1).Value = "#N/A" Then Cells(i, 1).Value = "?" End If i = i + 1 Loop End Sub #N/AのところでLoopはとまり、エラーが出ます。

  • 空白セルに●を入れたい

    Excelのセル範囲(例:としてA1からC10)のセルを調べて、 空白のセルになにかの文字(例:●)を打ち込みたい場合のVBAの書き方を教えてください。 Sub セル埋め() Dim r As Range, i As Range Set r = Range("A1:C10") '範囲指定 If Intersect(r, Target) Is Nothing Then For Each i In r If i.Value = "" Then i.Value = "●" Next i End Sub この書き方にこだわっているわけではないので、もっと簡単なやり方でもけっこうです。

  • セルA1からA10の値を表示ができない

    自分の無能さに腹が立ちます。 セルA1からA10の値を表示したいのですがうまくいきません。 Sub Macro6() MsgBox Range("A1:A10").Value End Sub 「型が一致しません」とエラーが出ます。 なぜでしょう?

  • VBAでセル指定するとき("A1")←半角?

    VBAでセルを指定するとき、 例えばA1のセルを選択するときにRange("A1")と書きますよね。 このときに「A」は半角で入力したのですが、これは全角の「A」でもいいのでしょうか。 実際に全角にしてVBAを組んでも、問題なく処理できました。 ただ「全角にしても問題なく処理できたからいいや」というのではモヤモヤしてしまい、 全角でも問題なく処理できるという記述があるテキストやサイトを探しているのですが 見つかりません。 セル指定するときに全角、半角は関係ないのでしょうか。

このQ&Aのポイント
  • LAVIE Directで購入したノート型パソコンに不具合が発生しています。起動が遅く、自動修復が繰り返される状況です。
  • 購入時から起動が遅く、不具合が多いLAVIE Directのノート型パソコンについて質問があります。
  • LAVIE Directで購入したノート型パソコンの起動が遅く、自動修復が繰り返される問題について質問です。
回答を見る

専門家に質問してみよう