Script事業案内エクセル以外ホームマクロVBAマクロVBAサンプル集ナンバーリンク(パズル)を解くVBAに挑戦No4最終更新日:2017-11-26ナンバーリンク(パズル)を解くVBAに挑戦No4そもそもこのパズルでは、ひとつの数字を繋げるときに、他の数値を分断してしまってはダメです。当たり前なのですが、実はここが一番難しい。人が解くときも、ここが肝になります、常にこれを考えながら線を引くはずです。このチェックをするプロシードャーを追加します。chkRoute今処理中の数値より先の数値の開始位置を見つけます。再帰呼び出しで、次々に空白セルを辿ります。これを組み込んだコードです。Functionだいぶ、先に進むようにはなってきました。正解にたどり着くには、どれだけ時間がかかることやら・・・。セルへの途中結果の出力を止めれば、そこそこのスピードで解けそうですが、dispCellのCallの第一引数をFalseにすれば、シートへの表示がとまります。「数値-連番」を入れているところと、それを消している部分をFalseにすれば、スピードはあがります。シートへの出力が長時間行われないと、Excelが「応答なし」表示になってしまいます。それでも待っていれば動くはずですが、あまり気分のよいものではありません。解にたどり着く経過を見ていたいものです。普通に見ていて、正解が出る時間、そうですね、数分でしょうか、出来れば3分以内くらいにしたいものです。「ナンバーリンク(パズル)を解くVBAに挑戦」で作成したVBAでナンバーリンクを解く事には成功しました、しかし、10×10なら数分で解けるものの、10×18でやったところ、4時間半もかかってしまいました。12×12では、待ちきれずに途中で止めてしまいました。Next)|VBA入門8.セルに文字を入れるとは(Range,Value)|VBA入門9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説10.ひらがな⇔カタカナの変換|エクセル基本操作ホームマクロVBAマクロVBAサンプル集ナンバーリンク(パズル)を解くVBAに挑戦No4このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。GASスプレッドシート入門スプレッドシート応用GAS入門GAS応用ホームマクロVBAマクロVBAサンプル集ナンバーリンク(パズル)を解くVBAに挑戦No4このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。