こんにちは。アドバイスを宜しくお願いします。

関数を使って数式を入れた表を作成しているのですが
今回は入力しない所が数箇所ありまして入力していない
箇所を参照しているところや関連のシートにまでエラー値が
表示されてしまいます。

こういった、今回に限ってという場合(特定して決めることが出来ないセル)
に表示されるエラー値を非表示にする方法があれば教えていただきたいんです。
実際のところできるのでしょうか?
エラー値は#N/Aです。

どうか宜しくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

失礼しました。

説明不足でした。

まず、ツール→マクロ→Visual Basic Editor でVBE画面に移り、
挿入→標準モジュール で標準モジュールを挿入します。
ANo.#3のマクロをコピーして、コードウインドウ(広い部分)に貼り付けます。

コピーするのはANo.#3の『標準モジュールに貼り付けます。』より下の行全てです。

貼り付けが終わったら、シートに戻り、

ツール→マクロ→マクロで
 ErrorHidden を実行するとエラー表示のセルを探して式を変更してエラーを非表示にします。非表示にするのはシート単位としてあります。

ツール→マクロ→マクロで
 FormulasFukugen を実行すると、書き換えた算式を元に戻します。
    • good
    • 0
この回答へのお礼

ありがとうございました。
本当に助かりました。

お礼日時:2002/03/07 15:03

結果として必要なのが一枚のシートである場合、


別の個所に結果を移してはいかがでしょう?
その際、エラーが出た場合はなにも表示させないようにして…。

=IF(Sheet!A1<>"",Sheet!A1,"")
というのをズラーっと必要なところまでコピーする手はいかがでしょう。
    • good
    • 0

全ての算式に、If や isNA や isError を付けるのは大変でしょう。



ErrorHidden を実行すると、エラー表示のセルを探して式を変更してエラーを非表示にします。
FormulasFukugen を実行すると、書き換えた算式を元に戻します。
こういう質問だったのでしょうか? ご参考に。

標準モジュールに貼り付けます。

'*************************
'エラーの算式を書き換える
'*************************
Public Sub ErrorHidden()
  Dim rg As Range 'セル
  Dim fm As String '算式

  'エラーのあるセルを選択する
  ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas, xlErrors).Select
  For Each rg In Selection
    fm = rg.Formula
    'エラーを非表示にするユーザー定義関数に書き換える
    '元の算式をユーザー定義関数『fncErrorTrp』の引数にしてしまう
    rg.Formula = "=fncErrorTrp(" & Mid(fm, 2) & ")"
  Next
End Sub

'**************************************
'書き換えたエラーのあった算式を元に戻す
'**************************************
Public Sub FormulasFukugen()
  Dim rg As Range 'セル
  Dim fm As String '算式

  '算式のあるセルを選択する
  ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).Select
  For Each rg In Selection
    fm = rg.Formula
    'エラーを非表示にするユーザー定義関数が使ってあれば元に戻す
    If InStr(fm, "fncErrorTrp(") > 0 Then
      fm = Application.Substitute(fm, "fncErrorTrp(", "")
      fm = Left(fm, Len(fm) - 1)
      rg.Formula = fm
    End If
  Next
End Sub

'************************************
'エラーを非表示にするユーザー定義関数
'************************************
Public Function fncErrorTrp(fm)
  If IsError(fm) Then
    fncErrorTrp = ""
  Else
    fncErrorTrp = fm
  End If
End Function

この回答への補足

参考にしたいのですが、内容が私には高度すぎてわからないのです。
まず標準モジュールというのはどこにあるのでしょうか?
テンプレートとかのことですか?

エラーを非表示にするユーザー定義関数を利用したいと
思っています。できれば作成まで(どこを開いて貼り付けるのか)
を簡単でいいので教えて頂きたいのですが。

大変すみませんが宜しくお願いします。

補足日時:2002/03/06 17:38
    • good
    • 0

>>(特定して決めることが出来ないセル) ... エラー値を非表示にする方法



は無いと思います。(0 を非表示にするのと同じように、#N/A を非表示に
は出来ない。)

 全ての、計算結果が表示されるセルに、以下の数式を入れなければなり
ません。


=if(A1="","",A1*B1)

 A1 が ""(ヌル・未入力)の場合は、無表示にし、その他は A1*B1

=if(A1=0,"",B1/A1)
=if(A1<>0,B1/A1,"")

 A1=0 の場合は、""(ヌル)を表示=非表示(0 での除算を回避)

=if(A1="","",(if(A1=0,"",B1/A1)))

 A1 が、

 ・ "" の場合は ""、
 ・ 0 の場合は ""、
 ・ その他の場合は、計算式(B1/A1)を実行


など、if 文と、"" (ヌル)を組み合わせる方法など。
 
    • good
    • 0

=ISERROR(数式,"",数式)


これでエラー値は表示されなくなると思います。
数式は今使っていてエラーの出る数式をそのまま入力してください。
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセル2010 入力がないセルには9の値を表示し、その他の入力値はそのまま表示させたい

お世話になります。
初歩的なことで申し訳ないのですが、教えて頂きたいてす。
タイトルの通りで、入力しないセルには9の値を表示、その他の値の入力はそのまま表示させたいのてすが、どのように設定したら良いでしょうか?
イフ関数かなあと思い、いろいろ試してみましたか出来ません
(入力はほとんど数値ばかりです。行単位で入力しています)
よろしくお願い致します。

Aベストアンサー

> エクセル2010 入力がないセルには9の値を表示し、その他の入力値はそのまま表示させたい

関数などの入力は不要です。

データを入力したい範囲のすべてのセルを選択して、9の値を入力し、[Ctrl]キーを押しながら[Enter]キーを押せば、選択したすべてのセルに9が入力されます。

その後、その他の入力値のセルにその値を入力してください。
(9以外の値を入力すれば、すべて上書きされます。)

QA1に数字の1を入力するとB1の値がA1に表示、A2に数字の2を入力するとB2の値がA2に表示

エクセル初心者です

セルのA1に数字の1を入力するとB1の値がA1に表示、A2に数字の2を入力するとB2の値がA2に表示されるようなものを作りたいのですが・・・
どなたかご教授お願いします

例えば、A1に1を入れるとB1の値"北海道"がA1に表示され、A2に2を入れるとB2の値"青森"がA2に表示といった感じでです

宜しくお願いいたします

Aベストアンサー

No3,5,6です。
補足要求をしましたが時間がないので、No6での以下の理解、

B4がROOT,C4が♭9,D4が9,E4がm3,F4がM3~M4がM7
置き換え対象はB6:W11の範囲

ということでいいのなら以下で出来ます。

1.シートのタブを右クリックし、コードの表示を選択
2.出てきたVBエディター(白い画面)に下記をコピペ

Private Sub Worksheet_Change(ByVal Target As Range)
Dim x
If Intersect(Target, Range("B6:W11")) Is Nothing Then Exit Sub
x = Target.Value
Application.EnableEvents = False
Target.Value = Range("A4").Offset(0, x)
Application.EnableEvents = True
End Sub

3.AltキーとF11キーを一緒に押してワークシートへもどります。

Q数式が表示されてしまう/値が表示されない/エクセル/

先人の知恵をお貸しください。

エクセルで、既存のシート(自分ではない別の誰かが作成、つまりエクセルのバージョンは異なる可能性はある)に数式が入っています。数式といっても、単に別のセルの参照(eg. "=A1")なんですが、この数式を編集して別のセルを参照しよう(eg. "=A1"を"=B2"に変更)とすると、なぜか変更後はセルの表示が数式そのままになってしまいます。つまり再計算後のセルは"=B2"と表示されてしまいます。
ただし表示がおかしいだけで、きちんとそのセル(B2)を参照しているようです、F2をおしてからF9を押すと望みどおりの値を表示するので。

恐らく、ツール>オプション>表示>”数式を表示する”の状態になっていると思うのですが、それにチェックを入れた覚えもないし、実際入っていません。

また、F2を押して再編集するのではなく、ほかのセルをコピーして貼り付けた結果は、数式が表示されず、きちんと計算結果(参照先のセルの値)が表示されます。

大変わかりにくい記述で申し訳ないのですが、もし同じような症状になったことがあられる方がおれば、解決策を教えていただけると助かります。

先人の知恵をお貸しください。

エクセルで、既存のシート(自分ではない別の誰かが作成、つまりエクセルのバージョンは異なる可能性はある)に数式が入っています。数式といっても、単に別のセルの参照(eg. "=A1")なんですが、この数式を編集して別のセルを参照しよう(eg. "=A1"を"=B2"に変更)とすると、なぜか変更後はセルの表示が数式そのままになってしまいます。つまり再計算後のセルは"=B2"と表示されてしまいます。
ただし表示がおかしいだけで、きちんとそのセル(B2)を参照しているようです、F2を...続きを読む

Aベストアンサー

該当セルを選択して [Ctrl] + [1](セルのプロパティ)表示形式を「標準」に設定してください。
たぶん、どの表示形式も選択(反転)されていないかと思います。

そして、該当セルを選択して [F2](セルの編集)を押して、[Enter] で通常の表示に戻ると思います。

Qエラー「#REF」の箇所を置き換える方法

Excelで別のセルを参照した式を入力した後に、参照先を削除すると「#REF」のエラーが出てしまいますが、そのエラーとなっている箇所を一括して新しい参照先に置き換えることは可能でしょうか?

今は置き換える方法を知らないので、参照先シート1のA1をシート2のA1に変えたいときは、先に置換で変更してからシート1を削除しています。

Aベストアンサー

ふつうに文字列の置換でできないでしょうか。

たとえばSheet1内で
=Sheet2!A1
のような参照があったとしてSheet2を削除すれば#REFのエラーが
でますが、そこで文字列の置換で #REF を Sheet3 に置換すると
=Sheet3!A1
に置き換わってくれると思います。

※ご質問の意図を取り違えていたら補足ください。

QEXEL:入力中のセルの数式を非表示(あるいは表示位置を変える)には

EXELで、数式を入力中に、数式が長くなってくると隣接しているセルが数式で隠れてしまい、そのセルを選択できなくなってしまうので、入力中の数式を数式バーでのみ表示したい(入力中のセルには表示しない、あるいは表示される位置をそのセルの右側、左側、など邪魔にならない位置に変更したい)のですが、可能でしょうか?

ちなみに例えばですが(文章で書くと伝わりにくいと思うのですが、、)

セルC3内に「=A3+B3+D3」という数式をA3、B3、D3というセルを選択して数式に入れていく場合、D3を選択しようとすると、それまでの数式「=A3+B3+」にD3が隠れてしまい、選択できない、という状況になります。

数式を直接入力すれば問題ない話ではあるんですが・・・
けっこうまわりでも困っている人が多かったので。

いい方法があれば教えてください。

Aベストアンサー

ツール→オプション→編集タブの「セル内で編集する」のチェックを外してお試し下さい。


人気Q&Aランキング

おすすめ情報