Excel初心者がVBAに挑戦します VBAを使いゲームを作ってみようと思う
VBAが少し理解できると次はVBAを使ったゲームが出来たら楽しいだろうなと思ったわけです。 初心者の私がVBAをどこまで理解できるか、そしてゲームが本当に作れるのか、これからのその挑戦を記録します。 さあ 'のりさん' の挑戦がはじまります。
フォルダ指定するダイアログ Sub FolderDialog() With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = Range("A1").Value If .Show = True Then Range("A1").Value = .SelectedItems(1) End If End WithEnd Sub
VBAを使いファイルをコピーします
年賀状の宛名書きを Excel で自動化する 今年も年賀状のデザインを考え始める季節になりました。 感動してもらえるようなデザインを今から考えています。 でも宛名書きはちょっと憂鬱な気持ちになってしまいます。 わずか数十枚の宛名書きに高価なソフト購入するのはちょっともったいない気がする<…
数独をExcelVBAで解く
フローチャートの[処理]及び <判定> のプロシージャ プログラムの要は配列変数代入と検証の二つです。次のフローチャートの読込と検証
フローチャートはプログラミングを効率よく進めるために必須だ 計画性がない思い付きのプログラミングは似たようなプロシージャを幾通りも書いていることに気づくことがあります。 プログラミングの第一歩はフローチャートの作成から始まります。 数独を解くためのフローチャート ↓
数独の枠を配列に置き換えて解を見つける。 空枠に入る数字を解が見つかるまで探る 図の空枠「?」を配列変数で表すと v(0,…
数独の枠は 9 x 9 の 81個、縦の9列と横の9行そして縦3横3のブロックで構成されている。 れぞれの枠を識別するため列・行・ブロックを配列変数に置き換えます。 配列変数はデータの並びを変数として扱うこと 一元配列変数 Dim…
空いた時間、することがなくて新聞に掲載されている「数独」を解いてみた。 ルールは簡単だ、縦横にそれぞれ9個の枠と縦3横3の9枠に合計が45となる数字を入れるだけ。 枠を全て数字で埋めるには数分から数十分と掛かかります。 数字の扱いはやは…
〇 お絵描きExcel 総集編 [目次]へ戻る〇データの保存と復元 <…
〇 お絵描きExcel 総集編 [目次]へ戻る 〇マウスを使い絵を描くイベントプロシージ…
〇 お絵描きExcel 総集編 [目次]へ戻る 〇 マクロを使いキャンバスを作成するキャンバスとなる…
仕事だけではつまらない Excelの楽しい使い方オフィスワークにExcelは今では欠かせないソフトです、『 Excel 』とは表計算ソフトの代名詞的な存在ですね。 Excelには出来ないことはないといっても…
使ってみると意外と簡単 Excelマクロ 普段の業務で新しいファイルを作りそれを特定のフォルダに保存します、そうしてどんどんファイルが溜まってくると作ったファイルをどこのフォルダに保存したのか分からなくなって困った経験がありませんか。 作成したファイルを整理して保存したフォルダ内のファイルリストを作成するマクロを作…
年賀状の宛名印刷をExcelを使い自動化する 日が短くなり仕事からの帰り路はもう暗くなっている、この時期になると年賀状を書くことが気になり始める。 最近は年賀状作成ソフトが出回っていてそれを使えば簡単に作ることが出来る、だから暮れが押し迫って来ても悩むことはないかもしれ…
ゲームをプレイする マウスクリックを一回毎に抑制するためにFalseを設定します Application.EnableEvents = Falseイベントプロシージャはこのプロパティを使わないと動作が不安定になります 次のクリックのためにTrueとしてクリックを待ちます Application.EnableEvents =
もぐらの顔を出す時間をコントロールする 待ち時間を指定するにはWaitメソッドとSleep関数があるそれぞれを試して特徴を調べてみる ①Waitメソッドもぐらを叩いた後少し間をおいて次の場所からモグラを出すためには待ち時間を設定する必要があります時間の…
「もぐら」は不特定の場所に出現させなければならない、出現座標の生成に乱数を使い予測できない位置に出現させることにした ○Rnd関数 と Int関数縦座標を変数 R 横座標を変数 C とします変数 R の範囲は3~13変数 C の範囲は3~18Rnd関数の 0以上1未満 のランダムな小数を返す機能を使い座標を決める式を作る…
○ステージ作成モジュール・ステージの作り方を説明する、セル座標を解かりやすくするためセル指定をR1C1参照形式に変えておく
「仕事の息抜きにちょっとしたゲームが出来たらいいな」に応えるゲームを作ってみた
○絵を複数保存する キャンバスに書いたドット描画を複数保存するプロシージャを作った描いた絵にタイトルを付けBackupしておき復元の際タイトルを指定することで複数の絵を管理できるようになります
○キャンバスを保護する時間を掛けて書いたキャンバスのドット画を誤って書き換わらないよう保護する機能をシートプロシージャに追加してキャンバスシートのCells(5, 27)に"X"がある場合処理を止めるコードを書き加えた
○動作速度を制御するSleep関数 パソコンの環境(CPU速度、メモリ容量等)により動作が早い場合スクロールが一瞬に終わり視認出来ない場合があります"Sleep 関数" を用いて一定の待ち時間を設定することでスクロールの速度を制御します スクロール速度にWaitメソッドを使い試したがExcelVBAでは1秒以下の制御が出来ない為失敗に終わった いろいろ調べて…
○絵をスクロールするSheet描いた絵に動きを与える 右から左へ絵が移動するプロシージャを作った'-----------------------------------------------------------Sub 左へ移動() Dim R As Integer 'キャンバス座標 行 Dim C As Integer 'キャンバス…
「ブログリーダー」を活用して、のりさんさんをフォローしませんか?