- ベストアンサー
エクセルVBA 関数エラー箇所を特定の文字に置換
- みんなの回答 (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
その他の回答 (3)
- play_with_you
- ベストアンサー率37% (112/301)
本文にVBAって書いてあったのね 失礼しました。
- FEX2053
- ベストアンサー率37% (7995/21381)
いやだから、考える前に If IsError(Selection.Value) Then Selection.Value = "あ" そういう話でしょ?
お礼
ご回答ありがとうございます。 Sub test() If IsError(Selection.Value) Then Selection.Value = "あ" End Sub とやってみたところ、1つのセルを選択した状態では上手くいくのですが、 範囲にしようとすると、自分で応用させる事ができず失敗してしまいました。 せっかく教えて頂いたのに申し訳ありません。 初心者であることをお伝え漏れていました。。。。
- play_with_you
- ベストアンサー率37% (112/301)
IFERRORでどうぞ。 https://www.google.co.jp/search?q=excel2007+iferror
お礼
ご回答ありがとうございます。 そうなんです、今回VBAを使用して置き換えを行いたく、、 説明が不足しており、申し訳ありませんでした。。。
お礼
ご回答ありがとうございます。 初心者中の初心者なので、コード(?)をご丁寧に書いて頂き大変助かりました!! そのままコピーさせて使用させて頂きます。 教えて頂いたとおり、シート全体はやめて、範囲を指定するようにしました。 本当にありがとうございました!!