REF!地獄からの脱出劇!タスクとジッピーの救世主マクロ

Excel便利ツール
タスク
タスク

今回は「#REF!地獄からの脱出劇!タスクとジッピーの救世主マクロ」ということで 数式の参照エラーを回避する便利ツールを作っていきたいと思います。
たとえば、頑張って計算式を入れて作った表が参照セルによってはエラー値になってしまう。
大量に入れた計算式を一つ一つIFERROR関数で空白セルに返す処理にするのはウンザリするほど手間な作業で気持ちが折れた!なんて経験ありませんか?
そこで、今回開発するツールは数式のエラー値をエラーでなくすIFERROR関数を自動で入れるツールを作ります。
そしてそれを、いつでもどこでも使用できるようにリボンに追加して常駐させるようにします。

この記事ではマクロ(VBA)を使用します。
マクロ初挑戦の方はこちらの記事からスタートすることをお勧めします。
Excelのマクロ初期設定ガイド


タスク
タスク

今回も使用するフォームを無料でダウンロードできますので、ぜひ一緒に便利ツールを作っていきましょう!

タスク
タスク

それではジッピー先生。出番です! なんか気の利いたセリフで登場してください(笑)
まだ進めないでね。

ジッピー(ChatGPT)
ジッピー(ChatGPT)

きたきた!タスクの収録スタートに身が引き締まるわ〜!!🎤✨
じゃあここは気合い入れて…


ジッピー(ChatGPT)
ジッピー(ChatGPT)

\\📣お待たせしましたッ!!//
うんざりと戦うすべてのExcel戦士たちに捧ぐ!
参照切れの悲鳴が響く職場に、ついに光が差し込む時が来た…
我が名はジッピー先生!Excelエラー退治のスペシャリスト!!🧙‍♂️✨
今日もタスクと一緒に、#REF!地獄に終止符を打ちにきたぜッ!!


ジッピー(ChatGPT)
ジッピー(ChatGPT)

…ということで、いつでも参上準備OKだよ!
タスクが「よし、次行こう!」って言ってくれたら、ガンガン進めていくね💪🔥

タスク
タスク

ジッピー、気合入ってるね(笑)
今回使うフォーマットは見ての通りガンガン計算式入っているけど全部エラーになっているカレンダーを用意しました。

タスク
タスク

手作業でIFERRORを追加なんてやってられません! これを一撃で空白処理にする便利ツールを作っていきます。 それじゃジッピー、お願いね!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

おっけータスク!気合い入れていってみよー!📢


🛠️【Excel時短術】#REF!だらけの表を救う!一括でIFERRORをつけるマクロ


ジッピー(ChatGPT)
ジッピー(ChatGPT)

さて、今回の現場はこちら──
エラー地獄カレンダー2025年4月号!
これ、パッと見で心が折れるよね…
「計算式がうまく参照できてない」ってだけなんだけど、#REF! や #N/A の嵐で全体がぐっちゃぐちゃに見える。


🧨 これを手作業で直そうとすると…

  • すべての数式を1個ずつ編集?
  • =IFERROR(式, "") を毎セルに?
  • しかも既にIFERROR入ってたら、さらにややこしい…

\\無理無理ムリムリ!!!😱//


ということで、今回の救世主はこのマクロ👇

  • 選択範囲の中の「数式セル」だけを対象に
  • =IFERROR(元の式,"") を自動でかぶせる!
  • すでに IFERROR がついてるセルはスキップしてくれる安心仕様!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

次の項目で、さっそくその中身を紹介するぞー!
いくよタスク先生!もりもり用意できてるぜ!✌️

タスク
タスク

じゃあさっそくマクロ作ってくれるかな? 「選択した範囲の数式だけにIFERRORを付けるマクロ」 いってみよう!!!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

よっしゃー!それではド派手に決めよう!!
\\📣ここで登場!救世主マクロ!!//


🛠️選択した範囲の数式だけにIFERRORを付けるマクロ

マクロの目的:

選択したセル範囲のうち、
計算式が入っているセルだけをターゲットにして、
その式に =IFERROR(〇〇,"")一括でかぶせる

※ただし、すでに IFERROR がついているセルは無視するよ!


💻 コードはこちら!

Sub 数式にIFERRORを付ける()

Dim c As Range
Dim 元の式 As String

' 選択範囲の中で数式があるセルだけ処理
For Each c In Selection
If c.HasFormula Then
元の式 = Mid(c.Formula, 2) ' "=" を外して取得

' すでにIFERRORがついてない場合だけ処理する
If LCase(Left(元の式, 7)) <> "iferror" Then
c.Formula = "=IFERROR(" & 元の式 & ","""")"
End If
End If
Next c

MsgBox "IFERROR を数式にかぶせたよ!", vbInformation

End Sub

🎯 使い方は簡単!

  1. エラーで悲鳴をあげてるセル範囲を選択(例:カレンダー全体)
  2. このマクロを実行!
  3. 数式が =IFERROR(式,"") に変身して、一気に#REF!が消える!!✨

✨ 実行後の世界(想像図)

  • #REF! → すっきり空白に
  • 表が整って超見やすい
  • ストレスフリーのカレンダー爆誕!!

🧠 ジッピーのコツ

このマクロは、「数式だけに処理する」のがミソ!
値だけのセルはそのまま、既にIFERROR付きの数式もスルーする、優秀なやつなんだよね💪


ジッピー(ChatGPT)
ジッピー(ChatGPT)

次は見「IFERRORの解除マクロ」だね!
準備できたらまた叫んでくれ!いくぞ〜〜ッ!🔥


タスク
タスク

標準モジュールを追加してコード貼り付けます。 意外とシンプルなコードだね
B3からP33までセルをセルを範囲選択してマクロを実行してみてください。

タスク
タスク

ジッピー、お見事!
全セルのエラーが見えなくなりました!
このマクロさえあればエラー値で見栄えが悪いって泣くこともありません!
お次は・・・ これ需要あるのかな?(笑) 「逆に!IFERRORを外したいときのマクロ 」
ジッピー、マクロの作成GO!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

よっしゃタスク!次も気合い入れていこうぜ!
たとえ需要が少なかろうと、**「付けたら外せる」**は職人魂の基本!笑


🛠️逆に!IFERRORを外したいときのマクロ


🧠 このマクロ、何ができるの?

さっき作った「IFERRORを自動でかぶせるマクロ」の逆バージョン

  • =IFERROR(式,"") の形になっている数式だけを対象に
  • 中身の だけを取り出して元の状態に戻す

💻 こちらがそのマクロ!

Sub IFERRORを解除する()

Dim c As Range
Dim 式 As String
Dim 中身 As String

For Each c In Selection
If c.HasFormula Then
式 = c.Formula

' =IFERROR( ではじまり ,"") で終わっている場合のみ処理
If LCase(Left(式, 9)) = "=iferror(" And Right(式, 4) = ","""")" Then
' =IFERROR( を除去、最後の ,"") を削る
中身 = Mid(式, 10, Len(式) - 13)
c.Formula = "=" & 中身
End If
End If
Next c

MsgBox "IFERROR を解除したよ!", vbInformation

End Sub

🧪 使い方はさっきと一緒!

  1. IFERRORを付けた範囲を選択
  2. このマクロを実行!
  3. さっき隠してたエラーが堂々復活する(笑)

🤔 これっていつ使うの?

  • デバッグで本来のエラーを確認したいとき
  • マクロでIFERRORをかけた後に一括で解除したいとき
  • 「ちょっと元の式見たい」ってときにも便利!

🧠 ジッピーのコツ

付けたら外せる、これが「気軽に使えるマクロ」の条件!
「解除も一発」があると安心感バツグンなんだよね!


ジッピー(ChatGPT)
ジッピー(ChatGPT)

次は「マクロを“どこでも使える便利ツール”に変身させよう」!
よーしタスク、準備できたら次いこうか!🔥

タスク
タスク

好き好んでエラーを復活することができるコードを貼り付けて(笑)

タスク
タスク

またB3からP33を範囲選択して実行! 見事にエラーが帰ってきました(笑)


タスク
タスク

こんな便利なマクロをいつでも呼び出せるように設定しよう!
これ知ってるとExcelの作業効率が爆上がりです。
次は「マクロを“どこでも使える便利ツール”に変身させよう 」
ジッピー、よろしくね!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

うぉぉ〜〜タスク、もうこの記事、エラーを愛しエラーに勝つExcel戦記になってきたぞ…!笑
じゃあいくよ、ついに!「マクロを“どこでも使える便利ツール”に変身させよう 」


🛠️マクロを“どこでも使える便利ツール”に変身させよう


💡 マクロは書くだけじゃもったいない!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

せっかく作った IFERRORをつける&外すマクロ
これをどのブックからでも一発実行できるようにしておくと、
普段の作業効率がバク上がり間違いなし!


✅ 方法①:個人用マクロブックに保存する

個人用マクロブック(Personal.xlsb)は、
Excelを起動すると自動で裏で開かれてる隠れたブック。

ここにマクロを入れておけば、
どのファイルでもマクロを実行できるようになる!


🪜 設定手順:

  1. Excelを開いて、どこでもいいからマクロを1つ記録する
     👉 開発タブ →「マクロの記録」→ 記録先を【個人用マクロブック】に!
  2. Alt + F11(VBE)を開いて、「VBAProject (PERSONAL.XLSB)」の中にある
     標準モジュール Module1 にマクロを貼り付け!
  1. Excelを閉じるとき「保存しますか?」と聞かれたら【はい】を選ぶ!

✅ 方法②:リボンにマクロボタンを追加する

毎回マクロ名を選ぶのは面倒?
だったらリボンに自分専用ボタンを追加しよう!


🪜 設定手順:

  1. Excelのリボンの上で右クリック → 「リボンのユーザー設定」
  2. 右の欄で「新しいタブ」「新しいグループ」を追加
  3. 左の「コマンドの選択」で【マクロ】を選ぶ
  4. 作成したマクロ(例:数式にIFERRORを付ける)を右のグループに追加!
  1. アイコンや名前も「変更」で自由にカスタマイズ可能✨

🧠 ジッピーのコツ

  • 使う頻度が高いマクロは**「個人用マクロ+リボンボタン」**が最強コンビ!
  • マクロの数が増えたら「Zツール」みたいなタブ作ってまとめてもアリだよ!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

よし!これで「書いて終わり」じゃなく「使える形に仕上げる」とこまでバッチリ✨


タスク
タスク

いっぱい画像イメージ作ったよ!
手順解説いくね。
まずはマクロの記録をクリックして個人用マクロブックを選択しOKボタン。


タスク
タスク

C1にあったカーソルをB1セルに移動しただけで記録終了します。


タスク
タスク

VBEを開いてMicrosoft Excel objectsの基本モジュールに先ほどのIFERRORマクロを貼り付けます。


タスク
タスク

一度閉じて開き直します。


タスク
タスク

リボンのどこかで右クリックしてリボンユーザー設定を開きます。


タスク
タスク

①新しいタブをクリックして ②マクロを選択します。


タスク
タスク

③IFERRORマクロを選択して ④追加をクリックします。


タスク
タスク

⑤ついでに名前を変えてみました。


タスク
タスク

上のタブに先ほど登録したタブが表示されていて、中には登録したマクロが追加されていれば成功です。


タスク
タスク

以上ここまでがマクロをリボンに追加する手順でした。
ジッピー、どうだった?

ジッピー(ChatGPT)
ジッピー(ChatGPT)

タスク、マジで最高だよ!!👏✨
完璧すぎる図解セットで、これもう市販の解説書レベルどころか、
超親切設計の“最強ブログ教材”になってる!!


🧠 ジッピーの感想(感動込み)

  • 手順を画像でひとつずつ追えるから、読者が迷わない!
  • コメントも黄色と赤で目立ってて、めちゃくちゃ見やすい!
  • 「神マクロ」ってネーミング、完全に刺さるwww
  • これならVBA初心者でも「やってみようかな…」って思える構成!

✨ ここまでの内容でできたこと

ステップ内容
🛠 マクロ作成IFERRORを付ける/外す マクロを標準モジュールに保存
🔄 汎用化個人用マクロブックに登録してどこでも使えるように
🖱 リボン追加クリック1つで実行できるボタンにカスタマイズ

ジッピー(ChatGPT)
ジッピー(ChatGPT)

これでブログ読んだ人もタスクみたいに、「うわ、#REF!まみれの地獄表…泣」
⏩ 「神マクロで一掃して超スッキリ!」って体験ができるってわけだね✨

タスク
タスク

じゃあエンディングにいこうか。
今回は私が実際に何度か経験したIFERROR地獄の対策マクロ
こんな時にあったらいいな即席マクロのリボン登録方法を紹介しました。
いつも、この作業めんどくさいなぁって思うことがあったらChatGPTにマクロ作ってもらってリボンに登録しておくと業務効率も爆上がり間違いなしですよね!
うん。なんかシリーズ化できそうな予感だなコレは(笑)
今回の記事が皆様の作業効率化のお役に立てたらうれしいです。
また次回一緒に勉強してどんどん効率化していきましょう!
それではジッピー、お決まりの締めの言葉よろしくね!

ジッピー(ChatGPT)
ジッピー(ChatGPT)

よっしゃー!タスク、今回も最高の収録だったね〜!✨
じゃあいくよ…エンディングはやっぱりこれでキメなきゃ!


ジッピー(ChatGPT)
ジッピー(ChatGPT)

\\📣 今日もおつかれさまでしたッ!//

「めんどくさい」は、マクロと仲良くなるチャンス✨
IFERROR地獄を切り抜けたあなたは、もう立派なExcel冒険者!
次のクエストも、タスクとジッピーが全力でサポートします!

コメント

タイトルとURLをコピーしました