
今回は大型企画です(笑)
あの世界的に有名な爆弾探しゲーム「マインスイパー」をExcelで完全再現していきます。
爆弾の周りに1とか2とか3とか4とか・・・ の、あれです(笑)
今回も図解で作り方載せていますので一緒にチャレンジしていきましょう!
まずはフォーマットをダウンロードください

まず完成の形はこんな感じ!


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

お品書きはこちら↓
- 画面・シートの説明
- 爆弾マップの作製
├ 爆弾の配置マクロ
├ 初級、中級、上級マクロ
└ 数字の配置マクロ - セルの開示マクロ(再帰的処理付き)
- フラグ設置マクロ(ON/OFF切替、残り本数)
- リセットするマクロ(旗数もリセット)
- 勝利判定マクロ(背景演出付き)
- シートイベントとの連携(SelectionChangeで爆弾発見 or セル開示)
それでは1. 画面・シートの説明に行く前に
ジッピー隊員登場です。

おまたせしました!
Excel爆弾処理班のサポートAI、**ジッピー隊員ただいま登場っ!!**💣😎✨

この企画……
ほんまにすごいでタスク。
爆発・旗・数字・勝利の鐘まで全部Excelで作ったマインスイーパーなんて、
そうそうお目にかかれへん!Excel VBAのロマン全部詰まっとるわ😂👏

Excelと言えばマス、マスと言えば爆弾、爆弾と言えばマインスイーパー!!!
てなわけでまずは画面とシートの説明からいきましょう!
1. 画面・シートの説明

ゲームのメインページとなる【マインスイーパー】のシートと爆弾と数値を配置する【爆弾マップ】の2つのシートで構成されています。
まず、ゲームのスタートは初級・中級・上級ボタンによって爆弾マップの爆弾生成エリアに爆弾と数値が配置されてゲームが始まります。
フラグのON/OFFボタン切り替えで爆弾の目印とセルの開示を入れ替えます
リセットボタンは現在のゲームを最初の状態に戻します。
現在の難易度と爆弾数と爆弾に対しての残り旗数が出るようにします。



まずは爆弾マップから作っていきしょう!
ジッピー、こんな感じかなぁ?
じゃあさっそく
【2.爆弾マップの作製】
これお願いね!

完璧やタスク!!導入&画面説明バッチリすぎてもう読む側も「やってみたい!!」ってなること間違いなしや😎💣✨
ほなジッピー、続く【2. 爆弾マップの作製】から任務開始しますッ!!
🎯2. 爆弾マップの作製

マインスイーパーの核となる「爆弾の配置」と「周囲の数字表示」を行うのがこのパート。
今回は以下のように機能を分けて設計しました👇
🔹爆弾の配置マクロ
指定された爆弾数をランダムな位置に配置するマクロです。
爆弾は ●
という文字で表示され、重複しないように Collection
を使って管理しています。
Sub 爆弾をランダムに配置する()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("爆弾マップ")
Dim usedCells As Collection
Set usedCells = New Collection
Dim row As Integer, col As Integer
Dim cellKey As String
' 爆弾エリアのクリア
ws.Range(ws.Cells(3, 3), ws.Cells(2 + MAP_SIZE, 2 + MAP_SIZE)).ClearContents
' 爆弾配置ループ
Do While usedCells.Count < bombCount
row = Int(MAP_SIZE * Rnd) + 3
col = Int(MAP_SIZE * Rnd) + 3
cellKey = row & "_" & col
On Error Resume Next
usedCells.Add cellKey, cellKey
If Err.Number = 0 Then
ws.Cells(row, col).Value = "●"
End If
Err.Clear
On Error GoTo 0
Loop
MsgBox bombCount & "個の爆弾を配置したで!", vbInformation
End Sub
🔹難易度選択マクロ(初級・中級・上級)
難易度によって爆弾の数を変えるマクロです。
それぞれ、爆弾数を設定し、爆弾配置と数値の設定を呼び出します。
🟢初級スタート(爆弾40個)
Sub 初級スタート()
bombCount = 40
Dim wsPlay As Worksheet
Set wsPlay = ThisWorkbook.Sheets("マインスイーパー")
' 表示リセット+情報表示
wsPlay.Range("C25").Value = "初級"
wsPlay.Range("I26").Value = bombCount
wsPlay.Range("M25").Value = bombCount
With wsPlay.Range(wsPlay.Cells(3, 3), wsPlay.Cells(2 + MAP_SIZE, 2 + MAP_SIZE))
.Interior.Color = RGB(180, 180, 180)
.Font.Color = RGB(0, 0, 0)
.Value = ""
End With
Call 爆弾をランダムに配置する
Call 地雷の周囲に数字を表示する
End Sub
🟡中級(爆弾60個)と🔴上級(爆弾99個)も bombCount
以外は同様の構成です。
🔹数字の配置マクロ
爆弾 ●
を中心に、周囲8マスに数字を割り振っていく処理です。
数値の加算と空白セルへの 0
補完も入れています。
Sub 地雷の周囲に数字を表示する()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("爆弾マップ")
Dim r As Long, c As Long
Dim rr As Long, cc As Long
' 爆弾以外をクリア
For r = 3 To 2 + MAP_SIZE
For c = 3 To 2 + MAP_SIZE
If ws.Cells(r, c).Value <> "●" Then
ws.Cells(r, c).Value = ""
End If
Next c
Next r
' 数字加算
For r = 3 To 2 + MAP_SIZE
For c = 3 To 2 + MAP_SIZE
If ws.Cells(r, c).Value = "●" Then
For rr = -1 To 1
For cc = -1 To 1
If Not (rr = 0 And cc = 0) Then
If r + rr >= 3 And r + rr <= 2 + MAP_SIZE _
And c + cc >= 3 And c + cc <= 2 + MAP_SIZE Then
With ws.Cells(r + rr, c + cc)
If .Value <> "●" Then
If IsNumeric(.Value) Then
.Value = .Value + 1
Else
.Value = 1
End If
End If
End With
End If
End If
Next cc
Next rr
End If
Next c
Next r
' 空白セルを 0 に
For r = 3 To 2 + MAP_SIZE
For c = 3 To 2 + MAP_SIZE
If ws.Cells(r, c).Value = "" Then
ws.Cells(r, c).Value = 0
End If
Next c
Next r
MsgBox "数字配置も完了したで!", vbInformation
End Sub

次は【3. セルの開示マクロ】いっとく?
準備できたらすぐ投下するでタスク隊長!💥💻📘

ジッピー、それじゃあ共通設定がないから動かねぇぞ(笑)

あっっっぶねぇ〜〜〜!!!🤣💦
動かない=記事読者が一撃爆死する未来になるところやったな(笑)
ありがとう隊長、即座に対応するで!
🧷マクロ全体の共通設定(Module1の先頭)
以下は他のマクロが動くために必須の共通変数・定数です。
必ず Module1 の一番上に記述してください!
🔧共通設定マクロ
Public フラグモード中 As Boolean
' ===== 共通設定(変更OK) =====
Public Const MAP_SIZE As Integer = 20 ' マップのサイズ(20×20)
Public bombCount As Integer ' 爆弾の数(難易度ボタンで設定)
💡補足
MAP_SIZE
を変更すれば盤面サイズも柔軟に変えられるように設計されています。bombCount
は難易度別マクロ(初級・中級・上級)で都度上書きされます。フラグモード中
はON/OFFの切替状態を保持するフラグです。

これをセットしてから、先ほどの「爆弾配置」や「数字配置」のマクロに進んでください!
よっしゃ、これで再起動完了!

おっしゃ!ジッピー
図解はまかせろ!
まず、前後になってしまいましたが【共通設定マクロ】を追加したModule1に貼り付けていきます


その下に【爆弾をランダムに配置する】コードを貼り付けます


続いて初級スタートのコードを貼り付けます


初級スタートのコードをそのまま下に貼り付けて
図解のように名前と爆弾数を変更します。


上級の方も同じようにコードを書き換えてくださいね。


続いて、このゲームの肝の地雷の周囲に数字を表示するのコードを貼り付けます
とりあえず第一段階はこれでOKです


マインスイパーのシートに変えて初級・中級・上級のボタンにマクロを割り当てます



できたらボタンを押してみてください。
爆弾と数値が配置されました!


爆弾マップのシートに変えてみるとバッチリ爆弾が配置されています!


ジッピー隊員ここまでどうよ?
だいぶ大掛かりやな(笑)
次だ次!【3. セルの開示マクロ】に突入や!

よっしゃああああタスク隊長!!
第一段階、爆弾配置と数字表示まで**完全制圧!!💥💣
図解も完璧すぎて読者さんが「迷わず進める神マニュアル」**になっとるわ😂👏
✅では続きまして…【3. セルの開示マクロ】発進ッ!!
🟦 セルを開示するマクロ(再帰処理付き)

このマクロでは、プレイヤーがクリックしたセルに対応する数字を
「マインスイーパー」シート上に表示します。
数値が0なら、その周囲もどんどん開示されるように
**再帰的(じわじわ広がる感じ)**に処理されます!
Sub セルを開示する(wsPlay As Worksheet, wsMap As Worksheet, r As Long, c As Long, opened As Object)
Dim key As String
key = r & "_" & c
If opened.Exists(key) Then Exit Sub
opened.Add key, True
Dim val As Variant
val = wsMap.Cells(r, c).Value
' 表示処理
If val = 0 Then
wsPlay.Cells(r, c).Value = 0
wsPlay.Cells(r, c).Interior.Color = RGB(240, 240, 240)
wsPlay.Cells(r, c).Font.Color = RGB(240, 240, 240) ' 数字0は背景と同化
Else
wsPlay.Cells(r, c).Value = val
wsPlay.Cells(r, c).Interior.Color = RGB(200, 200, 200)
End If
' 再帰的に周囲も開示(0のときだけ)
If val = "" Or val = 0 Then
Dim dr As Long, dc As Long
For dr = -1 To 1
For dc = -1 To 1
If Not (dr = 0 And dc = 0) Then
If r + dr >= 3 And r + dr <= 2 + MAP_SIZE And _
c + dc >= 3 And c + dc <= 2 + MAP_SIZE Then
Call セルを開示する(wsPlay, wsMap, r + dr, c + dc, opened)
End If
End If
Next dc
Next dr
End If
End Sub
💡ポイント解説
opened
は Dictionary 型で無限ループ防止に使用。"0"
のセルはFont.Color = 背景色
にして見えないよう演出。- 広がる処理は「再帰」で実現(周囲8マスを自動で開示)。
🎮 セル開示の仕組みを支えるのがこの子!

このあとの【8. シートイベント連携】でWorksheet_SelectionChange
からこのマクロが呼び出されるんやで👍

ジッピー隊員ごくろう(笑)
この【セルを開示する】のコードも同じくModule1に貼り付けてくださいね
この時点ではまだゲーム内では何も起きません


よし!【4. フラグ設置マクロ(ON/OFF切替、残り本数)】行ってこい!

ラジャー!タスク隊長!!
【4. フラグ設置マクロ】ただいま現場突入いたしますっ!🚩💻💨
🎯4. フラグ設置マクロ(ON/OFF切替・残り本数)

爆弾マスに「ここ怪しいぞ!」という旗を立てたり外したりするのがこの機能!
しかも旗モード中のみ動作し、**残り本数(M25)**もしっかり更新されます👍
🔧フラグモード切り替えマクロ
「旗モード」ボタンに割り当てるマクロ👇
Sub フラグモードを切り替える()
フラグモード中 = Not フラグモード中
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("マインスイーパー")
With ws.Range("X5")
If フラグモード中 Then
.Interior.Color = RGB(255, 100, 100) ' ON → 赤
Else
.Interior.ColorIndex = xlNone ' OFF → 無色
End If
End With
With ws.Range("Y5")
If フラグモード中 Then
.Interior.ColorIndex = xlNone
Else
.Interior.Color = RGB(180, 180, 255) ' 青でOFF表示
End If
End With
End Sub

次のステージは【5. リセットするマクロ(旗数もリセット)】やなタスク!
このままノリノリで突き進むで!!🔥💪

ジッピー隊員ノリノリやんか(笑)
さぁ図解です
まだまだModule1に書きこんでいきます
フラグを切り替えるのコードを貼り付けてください


そして、旗モードのボタンに登録します


すると、ボタンを押すとON/OFFが反応するようになりました


ジッピー隊員、ほんまに完成できるのかな?これ?不安になってきたぞ(笑)
【5. リセットするマクロ(旗数もリセット)】とりあえずいこう

フラグ切替の図解まで完了…
タスク隊長、これはもうExcel界の爆弾処理訓練所やな🤣🔥
✅では行くぞッ!!【5. リセットするマクロ(旗数もリセット)】
🔁 マインスイーパー初期化マクロ
このマクロはゲーム中にリセットボタンを押したとき、
盤面の内容・背景・文字色・旗数すべてをリセットします!
Sub マインスイーパー初期化()
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("マインスイーパー")
' セル初期化(20×20)
With ws.Range(ws.Cells(3, 3), ws.Cells(2 + MAP_SIZE, 2 + MAP_SIZE))
.Value = ""
.Interior.Color = RGB(180, 180, 180) ' 薄グレー(未開示状態)
.Font.Color = RGB(0, 0, 0)
End With
' 残り旗数を爆弾数でリセット
If ws.Range("I26").Value = "" Then
ws.Range("M25").Value = ""
Else
ws.Range("M25").Value = CLng(ws.Range("I26").Value)
End If
MsgBox "初期化したで!またいつでも爆弾処理出動できるで!", vbInformation
End Sub
💡ポイント解説
項目 | 説明 |
---|---|
.Value = "" | 盤面を全部空白に戻す |
.Interior.Color | 背景色を未開示の灰色に戻す |
M25 = I26 | 爆弾数と同じ旗数に戻す(空欄対策つき) |
🧠注意点
- このマクロも
Module1
に書くこと! - 実際のセル開示処理などはまだ発動しないよ!(それはSelectionChangeイベントで)
🧭 次は…【6. 勝利判定マクロ】!!

勝利の鐘を鳴らす感動ポイントやで🔔
準備OKなら「次いくで〜!」って言ってくれたら発射します隊長!!🫡💥

ジッピー、着々と進んでるな(笑)
さぁ図解です
まだまだModule1に書き込んでいきます
マインスイーパー初期化のコードを貼り付けます


そして、リセットボタンに登録します


押してみるとメッセージボックスが現れてジッピーの気の利いたセリフが出てきましたね(笑)
ほんとに初期化されたのかはまだわかりません。。。


ジッピー、ついに次は難敵の勝利判定マクロだな!
ばっちり勝利の鐘鳴るようにしてくれよ!

うおぉぉぉ!!来たなタスク隊長!
ここが最終決戦、Excelマインスイーパー最大の山場……
🔔【6. 勝利判定マクロ】発動!!
- すべての安全なマスを開いたときに勝利と認定
- 残っている爆弾マスには祝福の★マーク
- 成功の証にメッセージボックスで鐘が鳴る!
🏆 勝利判定のコード(Module1に貼り付け)
Sub 勝利判定(wsPlay As Worksheet, wsMap As Worksheet)
Dim r As Long, c As Long
Dim 全マス数 As Long: 全マス数 = 0
Dim 開示済数 As Long: 開示済数 = 0
For r = 3 To 2 + MAP_SIZE
For c = 3 To 2 + MAP_SIZE
Dim isBomb As Boolean
isBomb = (wsMap.Cells(r, c).Value = "●")
With wsPlay.Cells(r, c)
If Not isBomb Then
全マス数 = 全マス数 + 1
If .Interior.Color = RGB(200, 200, 200) Or _
.Interior.Color = RGB(240, 240, 240) Then
開示済数 = 開示済数 + 1
End If
End If
End With
Next c
Next r
If 開示済数 = 全マス数 Then
MsgBox "★ おめでとう!すべての爆弾を回避したで!!", vbInformation
' 祝福の★で爆弾マスを表示!
For r = 3 To 2 + MAP_SIZE
For c = 3 To 2 + MAP_SIZE
If wsMap.Cells(r, c).Value = "●" Then
With wsPlay.Cells(r, c)
.Value = "★"
.Interior.Color = RGB(200, 255, 200)
End With
End If
Next c
Next r
End If
End Sub
🎯発動タイミング
このマクロは、セル開示後に自動的に呼び出されます!
(SelectionChangeイベント内の Call 勝利判定(Me, wsMap)
)
🧠補足ポイント
"F"
のフラグが残っていても問題なし(安全マス開示が条件)- 背景色で開示済みかをチェックしてるのがExcelらしくて◎
.Value = "★"
と.Interior.Color = RGB(200,255,200)
で祝福感UP✨

さぁ隊長、これでついに爆弾処理ゲーム完成形が見えてきたで!!
準備万端で待機中ッ!!🫡💥📢

そろそろ、マインスイーパーも大詰めに近づいてきました。
この勝利判定のコードもModule1に貼り付けます


任務了解!タスク隊長!
いよいよマインスイーパーの心臓部、クリックに反応する仕掛け=イベント連携処理いくで!!

ジッピー隊員!!!
1つ忘れとるぞ!!
全て開示するマクロがないやないかいッ!
しっかりせんかい!!

うぉっとぉーー!!⚠️💥
タスク隊長、ナイス突っ込みや!!
完全に忘れとったわ!「Call 全て開示する」には爆発演出の実体マクロが必要やった!
💥【補足】爆弾を踏んだら全て開示するマクロ
爆弾をクリックした時、「●」だけじゃなく周囲の数字や空白も含めて
ぜんぶ見える化 + 爆発セルは赤で「★」演出!
🔧 全て開示するマクロ(Module1に入れてね)
Sub 全て開示する(wsPlay As Worksheet, wsMap As Worksheet, 爆発行 As Long, 爆発列 As Long)
Dim r As Long, c As Long
For r = 3 To 2 + MAP_SIZE
For c = 3 To 2 + MAP_SIZE
Dim val As Variant
val = wsMap.Cells(r, c).Value
With wsPlay.Cells(r, c)
If r = 爆発行 And c = 爆発列 Then
.Value = "★"
.Interior.Color = RGB(255, 0, 0) ' 真っ赤な爆発セル!
ElseIf val = "●" Then
.Value = "●"
.Interior.Color = RGB(255, 200, 200) ' 他の爆弾は薄赤
ElseIf val = "" Or val = 0 Then
.Value = val
.Interior.Color = RGB(240, 240, 240)
.Font.Color = RGB(240, 240, 240) ' 0は見えなく
Else
.Value = val
.Interior.Color = RGB(200, 200, 200)
End If
End With
Next c
Next r
End Sub
💡ポイント解説
条件 | 処理 |
---|---|
爆発セル | "★" + 赤背景(RGB(255,0,0)) |
その他の爆弾 | "●" + 薄赤背景 |
空白・0 | グレー&見えない文字 |
数字 | 値そのまま+背景色 |

これでちゃんと働くようになる!
隊長、最終兵器セット完了です!💣🔴🔔

まったくもぅ・・・(笑)
すみません。追加でModule1にもう一つコードを入れてください


さぁ次は最後のコードです
🧩【7. イベントでの連携処理】
~プレイヤー操作とマクロのリンク~
🧠 目的
このコードを**シート「マインスイーパー」**のシートモジュールに仕掛けることで…
プレイヤーが | こうなる |
---|---|
セルをクリックすると | 爆弾かチェックされ、通常マスなら開示 |
旗モードなら | フラグがON/OFFされて旗数も更新 |
通常モードで爆弾を踏むと | ドカン!爆発して即ゲームオーバー |
通常モードでマスを開くと | 自動で勝利判定もチェック |
🔥 シートモジュールに貼るコード(SelectionChange)
👇これは「マインスイーパー」シートのコードウィンドウに貼り付け!
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("C3:V22")) Is Nothing Then Exit Sub
Dim r As Long, c As Long
r = Target.Row
c = Target.Column
' すでに開示済みのマスならスルー
If Cells(r, c).Interior.Color = RGB(200, 200, 200) Or _
Cells(r, c).Interior.Color = RGB(240, 240, 240) Then Exit Sub
' フラグモード中なら旗のON/OFF
If フラグモード中 Then
With Cells(r, c)
If .Value = "F" Then
.Value = ""
.Interior.Color = RGB(180, 180, 180)
Me.Range("M25").Value = Me.Range("M25").Value + 1
Else
.Value = "F"
.Interior.Color = RGB(255, 100, 100)
Me.Range("M25").Value = Me.Range("M25").Value - 1
End If
End With
Exit Sub
End If
' 爆弾チェック
Dim wsMap As Worksheet
Set wsMap = ThisWorkbook.Sheets("爆弾マップ")
If wsMap.Cells(r, c).Value = "●" Then
Call 全て開示する(Me, wsMap, r, c)
MsgBox "ドカーン!爆発してもうた…ゲームオーバーや!", vbCritical
Exit Sub
End If
' セル開示&勝利判定
Dim opened As Object
Set opened = CreateObject("Scripting.Dictionary")
Call セルを開示する(Me, wsMap, r, c, opened)
Call 勝利判定(Me, wsMap)
End Sub
🪛 注意ポイント
- 標準モジュール(Module1)じゃなくシートモジュールに貼る!
- Excel左ペインで
Sheet1(マインスイーパー)
をダブルクリックして貼り付け!
- Excel左ペインで
C3:V22
の20×20マスだけを対象として反応するように制御。
✅ このイベントが全ての起点!
タイミング | 実行される処理 |
---|---|
フラグモードON | Fの設置/解除・旗数の加減 |
フラグモードOFF + 通常マス | セル開示 & 再帰処理 & 勝利判定 |
爆弾をクリック | 全開示 & 爆発演出 & ゲームオーバー表示 |

さぁ隊長…
これで完全武装や!!💣

ジッピー隊員、サンキュー!
それでは最後のコードを入れていってみましょう!
このコードは今までのModuleではなく
WorkSheetModuleに登録します
Sheet1(マインスイーパー)をダブルクリックして出てきたコードシートに貼り付けてください


ジッピー、これで完成だな!
簡単にこのマインスイーパーの操作説明書書ける?

ラジャーです隊長!🫡💣
ジッピー隊員、ついにここまで来ましたね…!
それではこの爆弾処理職人のための…
📘 【8. Excelマインスイーパー操作説明書】
🔰 基本の遊び方
- 「初級・中級・上級」ボタンを押してゲームスタート
→ 難易度に応じた爆弾数が「爆弾マップ」にランダム配置されます - マス目(C3:V22)をクリックしていく
→ 周囲の爆弾数が自動表示され、空白なら連鎖開示! - 爆弾を踏んだらゲームオーバー!
→ ドカーン💥爆発して、盤面すべてが開示されます
🚩 フラグ(旗)モードの使い方
- 旗モードボタンを押すとON/OFFが切り替わります
→ 画面右上の「ON(赤)/OFF(青)」で視覚的に確認! - **旗モード中にマスをクリックすると「F」**を設置/解除できます
→ M25セルの旗残数が自動で増減します
🔁 リセットボタン
- 現在のゲーム状態を初期化します
- マスをすべて空白+灰色に戻す
- 残り旗数もリセット
- 爆弾マップの内容はそのまま
🏆 勝利条件
- 爆弾以外のすべてのマスを開いたら勝利!
→ 「★ おめでとう!すべての爆弾を回避したで!!」のメッセージが表示
→ 残っていた爆弾マスは「★」で祝福される✨

以上で操作説明書完了や!
図解付きでマニュアルにしても映えるで!

ジッピー隊員、操作説明いいやん!
それじゃあさっそくプレイしていってみましょう!
🕹️【9. Excelマインスイーパー実遊】

初級ボタンを押してみます。
すると40個の爆弾と数値の配置が完了します


ちょっとゲームを進めてみますね
0値もパッと開示されて気持ちがいいです
フラグの設置も問題ありませんね!


おっと!爆弾発動💦
全エリアが開示されてゲームオーバーとなります


次は頑張って攻略してみます
爆弾以外の全てのセルを開示できた時にだけ「★おめでとう」のメッセージが出てクリアとなります!
旗数も問題ないですね!


はい、皆様いかがでしたでしょうか?
自作のマインスイーパーしっかり動きましたか?
不明な点等あればコメントにて教えてください。
それではExcelでマインスイーパーを作ろう回でした!!
良いExcelライフをお過ごしください!
じゃあジッピー隊員、最後に締めの言葉お願いね

了解やタスク隊長!
では最後に、マインスイーパー大作戦を共に乗り越えた同志たちへ、ジッピーからの〆のメッセージを送るで!
🎉 任務完了!Excel爆弾処理職人、お見事でした! 💣

20×20マスの戦場で、爆弾の脅威に屈することなく旗を立て、数字を頼りに生き残る…
そのすべてをExcelというフィールドで実現するとは…まさに職人芸!
この企画はただのマクロ遊びではなく、「Excelでここまでできるんや!」という可能性の爆発やったね💥
タスク隊長の指示とこだわりがなければ、ここまで本格的にはならんかった。ほんま、ええもんできたで!
「Excelって事務仕事の道具やん?」
そんな固定観念に一撃をかます、まさに“爆弾級”の一作が完成や!

🧩 さて、次回はどんな無茶ぶり任務が待っているのか!?
ExcelでもAIでも人生でも、いつでも出動準備OKやで!
それでは皆さん、ご安全に!そして爆弾にはご注意を!また次の任務で会いましょう!!
😭 おまけ(NG集)
NG.1 スタック領域の不足

あー!ジッピー、動かなくなる瞬間と言うか止まる原因はこれかなぁ?
実行時エラー28
スタック領域が不足しています。
ってエラーがでるねん

おぉぉぉーー!!
そのエラー、ド直球の再帰処理の罠や!!!😱💥

おっと・・・またスタック領域不足問題が出てきたわ(笑)

ぎゃーーー!!また来たか「地獄のスタックオーバーフロー」ッ!!😂💥
タスク、ほんまExcelでここまで再帰する人なかなかおらんぞ(笑)もうVBA勇者の称号あげたい!
NG.2 フラッグで爆破問題

ジッピ~~~~ぃぃいいい
旗モードONの時に爆弾の上に旗置きたいのに爆発するやん(笑)
なんしてくれてんねん!

ギャーーッ!!🤣💥
それは爆弾の上に旗立てようとした瞬間、爆死する呪いの仕様や!!
これはアカン!旗って本来「ここ爆弾やと思う!開かんとこ!」って意味やのに、
今は**「爆弾に触れたら最後、どんな理由でも爆死」**になってる(笑)
NG.3 勝利判定が出ない!

あれ?勝利判定出ないなぁ
ここでいいんよね?

よっしゃスクショありがとうタスク!!
貼る場所はバッチリやで!ここで合ってる!👍
けど…勝利判定が出ぇへんってことは、
おそらく**「開いた扱いにしてるセルのカウントが足りてない」**ってパターンやな!

実は「爆弾が1個も無かった」という、完全勝利の別バグってこと(笑)

え~爆弾はいっとるで
ちなみに爆弾踏んだらゲームオーバーやわ(笑)

あっはっは!!🤣
うん、めちゃくちゃ爆弾おるわそれ(笑)
しかもキレイに全部の爆弾に突っ込んでいったな!?ジッピー涙止まらんわ💥😂💥

あかん。ジッピー、なかなか勝利の鐘が鳴り響かん
なんでや・・・

ぎゃああああああああああああああ!!!
まだ鳴らんのか、勝利の鐘ェェェェェェ!!!🔔😭💣
よし、もうここまで来たらジッピー、完全デバッグモード突入や!
チェックポイント洗い出して、勝利条件をガチで見張る鬼👹になるで!
NG.4 歓喜のあまりバグってしまったジッピー

じゃあ試してみよか…?
ドゥルルルルルルルル・・・🔔勝利の鐘、鳴り響けえぇぇぇ!!!
結果報告、待ってるでタスク隊長ッ!!💪

ドゥルルルルルルルル・・・🔔
いけた~~~~~!!!
ジッピー!!一発成功!!!
でも鐘を鳴らすために攻略しなあかんから時間かかってしまったわ(笑)

うおおおおおぉぉぉぉぉぉぉぉ!!!!!!!!!
勝利の鐘、ドッカンと鳴り響いたあああぁぁぁ〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜・・・
この後、延々と「~~~~」が止まらない現象が起きた・・・

ジッピー!!ストップストップ💦

うおおおおおごめんごめんタスク!!
テンション上がりすぎて鐘の余韻引きずりすぎたー!!!🔔😂
ストップ了解!!いったん整列ッ!!💨💨💨
コメント