
No.4ベストアンサー
- 回答日時:
失礼しました。
説明不足でした。まず、ツール→マクロ→Visual Basic Editor でVBE画面に移り、
挿入→標準モジュール で標準モジュールを挿入します。
ANo.#3のマクロをコピーして、コードウインドウ(広い部分)に貼り付けます。
コピーするのはANo.#3の『標準モジュールに貼り付けます。』より下の行全てです。
貼り付けが終わったら、シートに戻り、
ツール→マクロ→マクロで
ErrorHidden を実行するとエラー表示のセルを探して式を変更してエラーを非表示にします。非表示にするのはシート単位としてあります。
ツール→マクロ→マクロで
FormulasFukugen を実行すると、書き換えた算式を元に戻します。

No.5
- 回答日時:
結果として必要なのが一枚のシートである場合、
別の個所に結果を移してはいかがでしょう?
その際、エラーが出た場合はなにも表示させないようにして…。
=IF(Sheet!A1<>"",Sheet!A1,"")
というのをズラーっと必要なところまでコピーする手はいかがでしょう。
No.3
- 回答日時:
全ての算式に、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
この回答への補足
参考にしたいのですが、内容が私には高度すぎてわからないのです。
まず標準モジュールというのはどこにあるのでしょうか?
テンプレートとかのことですか?
エラーを非表示にするユーザー定義関数を利用したいと
思っています。できれば作成まで(どこを開いて貼り付けるのか)
を簡単でいいので教えて頂きたいのですが。
大変すみませんが宜しくお願いします。
No.2
- 回答日時:
>>(特定して決めることが出来ないセル) ... エラー値を非表示にする方法
は無いと思います。(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 文と、"" (ヌル)を組み合わせる方法など。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 画像のとおり先にB列に関数を入れ、 後からA列に任意の名前をA列セルに入れます。 後からA列に名前を 4 2022/05/08 02:44
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
- Excel(エクセル) エクセルの数式で教えてください。 2 2023/03/06 13:32
- Excel(エクセル) Excel ユーザー定義で変換したセルについて 3 2023/02/04 01:25
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Java コンソールから所属財産を入力(単位:万円 1000~100000以内でIntegerに変換できない場 2 2022/05/31 21:32
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルの計算式について教えて下さい。 sheet1のA1セルの値をsheet2のB1セルに返し、尚 1 2022/05/25 11:32
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- PHP phpでこの記述をもっと簡単に書く方法はないでしょうか…? 3 2022/11/16 19:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
実行時エラー48発生時のDLL特定...
-
Invalid procedure call or arg...
-
実行時エラー3001「引数が間違...
-
vbaのvlookup関数エラー原因を...
-
職場から目的地までの距離集計
-
【VBA】ボタンに登録したマクロ...
-
なぜエラーになるのでしょうか...
-
【VBA】実行中に「型が一致しま...
-
EXCEL/VBAで、自分のPCだけエラ...
-
VBAがブレークモードになっ...
-
ExcelVBAで、ユーザー定義型は...
-
【Excel VBA】マクロをボタンに...
-
ExcelVBA Range クラスの Page...
-
Excel TextBoxクラスのCharacte...
-
VBAで、定数式が必要ですのエラ...
-
UWSCのビジー待ちで60秒経った...
-
EXCEL VBAマクロ中断でデバッグ...
-
Outlook.ApplicationをCreateOb...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAがブレークモードになっ...
-
実行時エラー -'-2147417848
-
ExcelVBA Range クラスの Page...
-
マクロについて教えてください...
-
VBAでのエラー
-
【Excel VBA】マクロをボタンに...
-
実行時エラー48発生時のDLL特定...
-
EXCEL VBAマクロ中断でデバッグ...
-
なぜエラーになるのでしょうか...
-
実行時エラー3001「引数が間違...
-
OLEDB.NETで接続できない
-
INSERT INTOステートメント構文...
-
VBAのエラー発生場所をメッセー...
-
VB6+SQL サーバー 2000 で 実行...
-
Outlook.ApplicationをCreateOb...
-
ADODB.Streamを使用してUTF-8を...
-
カーソルオープンでエラー(ORA...
-
Invalid procedure call or arg...
おすすめ情報