Excel実践

トップ > Excel > Excel実践 > 記事
Excelトップへ
Excel実践一覧へ



動画内の準備ファイルは必要に応じて配布しています。
古いコンテンツだと用意されていない可能性があります。
用意されていないもので、演習に必要であればお問い合わせください。


2022年7月5日【ID:314】

【趣味】脳を鍛える大人のExcelトレーニング


・標準モジュール:「脳トレ」

メインのプログラムです。
図形や繰り返し処理などで必要な変数を定義します。
その他の変数は、その都度定義しています。
また、Excelシートは画像が配置されているため勝手に移動などをされないように、シートに保護をします。
その際、マクロでは画像などを操作できるように「UserInterfaceOnly = True」を設定しています。

 

以下では初期配置から最初の演出を設定しています。
初期の人数は1~10でランダムで設定しています。
一番下の「家の中にいる人」というのは、何番の画像が家の中にいるのかを配列「inAry」に記憶しています。
例えば、初期の人数が5の場合は、配列「inAry」に「1,1,1,1,1,0,0,0,0,0」と格納されます。
画像の番号を管理する理由は、同じ画像を同時に移動できないためです。
詳しくは次の手順で解説しています。

 

ExcelVBAレベル確認

次に人を動かす人数を設定します。
人の移動は最大5回繰り返しています。

出ていく人の数「outNo」は家の中にいる人数を最大値として乱数を発生させて最低0人最大6人になるように調整しています。
※最大10人が出ていくと、問題の難易度が高くなってしまうためです。
入る人の数「inNo」は家の外にいる人数を最大値として同じように調整しています。

出ていく人の数「outNo」と入る人「inNo」の数を求めたら、移動後に家の中にいる人数「no」を計算します。

 

次に人を移動させる準備をします。
同じ人(画像)を同時に移動させることができないため、移動対象の人の画像を配列「outList / inList」に割り当てます。

その方法として家の中にいる人を「inAry」で管理しているので、こちらの配列「inAry」を活用し重複なく人の画像番号を取得します。

【例】初期が5人で、出ていく人3人、入る人4人の場合、

inAry:「1,1,1,1,1,0,0,0,0,0」
inAryの先頭から出ていく人の画像番号を取得します。
outList:「1,2,3,0,0,0,0,0,0,0」
取得しつつinAryを以下のように更新します。
inAry:「0,0,0,1,1,0,0,0,0,0」


inAryの末尾から入る人の画像番号を取得します。
inList:「10,9,8,7,0,0,0,0,0,0」
取得しつつinAryを以下のように更新します。
inAry:「0,0,0,1,1,0,1,1,1,1」

これで人の画像を重複せずに移動させることができます。


最後に、inAryの1を左詰めにします。
inAry:「1,1,1,1,1,1,0,0,0,0」

このようにすることで①~③を何度繰り返しても重複せずに人の画像番号を取得できます。

 

次に「出ていく人、入る人」を同時に動かします。
こちらは先ほど設定した「outList」と「inList」を活用して重複なしで移動させます。

「inPosStr」と「outPosStr」は、移動対象が複数人の場合に1マス分ずらして同時に移動させる必要があるため、位置を管理しやすいように列名を格納しています。空白「""」の部分は家の中、もしくは画面外なので、移動する必要がないことを指しています。

 

最後に入力フォームにて人数を入力させ答え合わせを行います。
答えが正しかった場合は、丸の画像を数字に重ねます。

 

長くなりましたが、仕組みは以上になります。
実現方法は複数あるため、あくまで1つの方法としてみていただければと思います。
準備ファイルをダウンロードし、同じコードを書くことで再現することは可能なので、興味があれば触ってみていただければと思います。

▼準備ファイル▼

 

3ページ
前のページへ 1ページへ


▼完成ファイル▼

ダウンロード
※メンバー限定

 




Excelで警告が表示される場合


【標準モジュール】Module1

※メンバーページと連携すると、開発したプログラムの内容が表示されます。


【ユーザーフォーム・モジュール】人数入力

※メンバーページと連携すると、開発したプログラムの内容が表示されます。


パソコンで開く場合は、記事の最後に「リンクコピー」があるためご活用ください。


メンバー募集
1分で読める小技集 1分で読める小技集





リンクの共有はこちらから行えます。

  リンクコピー Twitter Facebook はてなブックマーク Pocket
トップ > Excel > Excel実践 > 記事
Excelトップへ
Excel実践一覧へ


- 人気の記事 -



- メンバー限定 [一覧] -



サイト累計閲覧数

2297038

有料動画講座
(買い切り)

Excel完全制覇


ちょっとした機能 便利ツール
✨困ったとき✨ Excel
保護解除ツール

【Excel実践】

【業務】数式のみの検索システム

【業務】アドインの開発~設定方法

【業務】データベースから選択した値を自動抽出

【業務】全シートからデータ検索し抽出する

【便利】リストのリストボックス化

【業務】PDFファイル自動読込&トリミング(切り取り)システム

【業務】自動画像&サイズ自動調整・手順書作成ツール

【趣味】文字認識(VLOOKUP・SUM・MAX・IF)

【趣味】シンプルな自販機

【便利】条件付き書式で1行おきに色を自動で設定

【業務】全自動カレンダー#4

【業務】別ファイルをもとにドロップダウンリストを自動作成

【業務】支出管理シート

【業務】CSVファイルを超高速で自動読込

【業務】「ログイン機能」シート単位でアカウント作成

【業務】指定した単位で時間を自動入力

【業務】フィルター条件を保存する機能

【便利】パスワードの自動生成システム

【業務】ダブルクリックで自動入力・自動色付け

【便利】数値専用テキストボックス

【便利】図面・製図 立体を自動生成

【便利】画像を好みのサイズに調整する自作ショートカット

【便利】好みの順番でコピーとペースト

【便利】ページを切り替えられる手順書

【業務】データベースでマークした場所のみを表示させる





一覧ページへ

トップ > Excel > Excel実践 > 記事
Excelトップへ
Excel実践一覧へ