こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エラー非表示について

2007です。
列60行3000の表でエラー値が散乱しています。このようになった経緯は複数列のセル内容を分割表示させ、さらに文字列となっている数字部分を数値に変換する作業をやりました。元の列が不要となったため削除したことにより参照先がなくなったことによるエラーだと思うのですが「コピー、値のみ貼り付け」したためセル自体に数式は残っていません(数式がないのにエラー値が出ることが疑問なのですが・・・)
エラーの出ている列・行が点在しており、一気に選択できないため部分的に選択しクリア、これを繰り返しひとつのブックを3日がかりで処理しました。(同様のブックが40ほどあります)
サイトを参考に、ISERRORと書式設定によりエラー表示を隠す方法を試みようとしたのですが、2003での事例しかなく、2007ではコンボボックスの項目が決まったものしかなく「数式が」を入力する窓がわからず断念しました。
ある本によると、エラー対策に新たな関数IFERROR登場とありますが、どう使うのか具体例がありません。
もう1年以上になるのですが、いまだに初心者の域を出ない者ですが、こんな方法でやってみればのヘルプをいただければと思います。

投稿日時 - 2009-07-14 11:44:20

QNo.5124485

暇なときに回答ください

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

>エラーの出ている列・行が点在しており、
>一気に選択できないため部分的に選択しクリア

エラー値が入っているセルを一気に選択して、
値を削除できれば良いわけですよね。

[ジャンプ]機能がオススメです。

[Ctrl]+[G] ⇒ [セル選択] ⇒ [定数] 
⇒ [エラー値]以外のチェックを外す ⇒ [OK] ⇒ [Delete]

ご参考まで。

投稿日時 - 2009-07-14 12:56:31

お礼

こんなやり方があるんですね。関数に付随することがらしか調べなかったものですから・・・。
「セル選択」を表全体選択とできるなら一気に解決しそうです。あとでためしてみます。ありがとうございました。

投稿日時 - 2009-07-14 13:24:51

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

こんにちは。

エラー値というものは、数式から出力されるものではなくて、エラー値という値なのです。
表面的には文字列なのです。

=IFERROR(数式,エラー時の値)
は、今までの
=IF(ISERROR(数式),エラー時の値,数式)
を、統合したものです。

既に、解答が出てしまっていますが、

ジャンプ--定数--エラー値 で、エラー値を選択して、削除(DEL)してしまえばよいですす。

条件付き書式なら、たとえば、新しい書式ルールから、
[数式を使用して、書式設定するセルを決定]

=ISERROR(A1)

で、フォントを白にしてしまう方法もあるかと思います。

投稿日時 - 2009-07-14 13:37:58

ANo.2

何がしたいのか良くわからん。内容に比して余分な文章が多いのではないか。
聞きたいことを見出しでも書いて、明確にせよ。
下記を補足してほしい。
(1)関数のエラーが出た
形式を選択して、値貼り付けしてもエラーはエラー値として残る。
これをを前部空白にしたいのか
(2)今のデータではなく、エラー値が出ないような、式の組み立て方を聞いているのか
(3)その他のことを聞いているのか。
簡単なシート部分の模擬実例でも挙げて、之だからこうしたいと、文章表現を添えること。

投稿日時 - 2009-07-14 12:43:54

補足

(1)です。エラー値のセルを全部空白にしたいのです。
そのために自分がしようとしたことを書いたつもりだったのですが余計でした。
簡略な事例表をと思うのですが、この質問フォームに罫線を引いたりする方法がわからないもので・・・文章を入れるのがやっとなもので・・
お手数をかけて申し訳ありません。

投稿日時 - 2009-07-14 12:57:04

お礼

ジャンプ機能というもので解決でました。ありがとうございました。

投稿日時 - 2009-07-14 13:49:41

ANo.1

2007がないのと、その環境を再現もできないので、よくわかりませんが…

セルの値がエラーだったら、空白に置き換えるというマクロではうまくいかないでしょうか?
(式が正しく入っているセルでも、何かの都合で結果がエラー値になっていると、空白に置き換えられてしまいますのでご注意。)

Sub test()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If IsError(c.Value) Then c.Value = ""
Next c
End Sub

投稿日時 - 2009-07-14 12:39:01

お礼

ありがとうございます。
マクロを扱えるレベルにはないので、今後の学習課題とさせていただきます。

投稿日時 - 2009-07-14 13:13:04

あなたにオススメの質問