見出し画像

【Excel VBA】数独を解く

はじめに

数独を解くExcel VBAのマクロを作成してみました。
ただただシンプルに、問題を入力して、マクロを実行すると回答を出力します。
解けない問題を解きたい人、数独を解くVBAのプログラム(バックトラック法です)の参考にしたい人へ。

※サムネイルの秒数は私のPC環境での速度です。実用的に十分である、という意味です。

使い方

1.NumberPlaceSolver.xlsm(有料部分よりダウンロード可)を開く
セキュリティの警告が出る場合は「コンテンツの有効化」ボタンを押して下さい。

2.マスに問題を入力する
プルダウンから数字を選択してもいいですが、半角数字を直接入力しても大丈夫です。

3.マクロを実行する
ショートカットキー(Ctrl + Shift + N)でマクロを実行できるようにしています。問題の入力にミスがある場合は、ミスのある個所がピンク色になります。
解が複数存在する場合は、最初に見つかったものを表示して計算を終了します。

問題が解けた場合


問題にミスがあった場合

数独は私個人としてはあまり興味ないのですが、プログラミングの課題という見方をしたときに、再帰関数の使い方、バックトラック法といったアルゴリズムの理解にちょうどよいテーマだと思います。

皆様もチャレンジしてみてはいかがでしょうか??

ここから先は

38字 / 1ファイル

¥ 400

この記事が気に入ったらチップで応援してみませんか?