アプリ版:「スタンプのみでお礼する」機能のリリースについて

VBAの質問です。エクセル2007を使用しています。

選択しているシート内に関数のエラーがあった場合、
エラー箇所を特定の文字列に置換することは可能でしょうか。

実行した時のイメージ画像を添付致します。

何卒よろしくお願いいたします。

「エクセルVBA 関数エラー箇所を特定の文」の質問画像

A 回答 (4件)

こんにちは。



指定した範囲の中に、
数式が設定してあって、エラー値を返すセルがあれば、
そのセル範囲すべてを SpecialCells メソッドで取得し
対象が見つかった場合は、値を設定します。

仮に、D列全体のエラー値を探すように書いています。
  Set Target = Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
のように書けばシート全体を探します。
なるべく、狭く範囲指定した方がいいので、
Rangeで必要十分な範囲を指定するようにしてください。


' ' 標準モジュール

Sub Re8257713()
  Dim Target As Range

  On Error Resume Next
  Set Target = Range("D:D").SpecialCells(xlCellTypeFormulas, xlErrors)
  On Error GoTo 0

  If Target Is Nothing Then Exit Sub

  Target.Value = "あ"

End Sub
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

初心者中の初心者なので、コード(?)をご丁寧に書いて頂き大変助かりました!!
そのままコピーさせて使用させて頂きます。

教えて頂いたとおり、シート全体はやめて、範囲を指定するようにしました。

本当にありがとうございました!!

お礼日時:2013/09/10 16:23

本文にVBAって書いてあったのね


失礼しました。
    • good
    • 0

いやだから、考える前に



If IsError(Selection.Value) Then Selection.Value = "あ"

そういう話でしょ?
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

Sub test()

If IsError(Selection.Value) Then Selection.Value = "あ"

End Sub


とやってみたところ、1つのセルを選択した状態では上手くいくのですが、
範囲にしようとすると、自分で応用させる事ができず失敗してしまいました。

せっかく教えて頂いたのに申し訳ありません。
初心者であることをお伝え漏れていました。。。。

お礼日時:2013/09/10 16:14
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

そうなんです、今回VBAを使用して置き換えを行いたく、、
説明が不足しており、申し訳ありませんでした。。。

お礼日時:2013/09/10 16:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています