今回は、時間から時間帯(昼、夜、日出前、日没後)と天候を設定する機能を追加する。
1)機能概要
下図のように時間変化シートを追加し、現在時刻から該当する時間帯と天候を
求めて時間シートの時間帯と天候に設定する。
2)マクロとEXCEL関数
A)時間変化シートは手動でEXCELにて作成する。
・A列からE列までは手動作成の定数。なお、D列とE列の白い部分はゲームにより変わる。
・G列からK列までの1行目は標題で手動作成。
・G列からK列までの2行目は以下の通り。
G列(現在時刻): H2の値×100+I2の値を計算しているEXCELの数式(手動作成)。
H列(時): 現在時刻の時間部分でマクロ11により設定する。(*0)
I列(分): 現在時刻の分部分でマクロ11により設定する。(*0)
J列(時間帯): G2の値を検索値としてA列を検索し、該当する時間帯をD列から
取り出すEXCEL関数(手動作成)(*1)。
K列(時間帯): G2の値を検索値としてA列を検索し、該当する天候をE列から
取り出すEXCEL関数(手動作成)(*1)。
(*0)現在時刻は、既存のマクロ5〜10で加算・減算して管理している。
(*1)Lookup関数
B)主な作成マクロ
マクロ11 = 現在時刻の時と分を時間変化シートのH2とI2に設定する。
また、時間変化シートの時間帯と天候を時間シートに設定する(*2)。
(*2)マクロ11でH2とI2に値を設定した時にEXCEL関数が検索するので、
時間変化シートの時間帯と天候は検索結果が入っている。
3)作成したツール
マクロ付のファイル(Time02.Xlsm)はWord Pressに登録できないので、バタイユゲーム
情報班のダウンロードページに登録予定。
<個人的感想>
検索機能をマクロ・VBAで作る事は可能であるが、それよりも既存のEXCEL関数(Lookup)を
使った方が作業が楽になる。その意味で、EXCEL、EXCEL関数、マクロ、VBAを上手に組み合わせれば、
効率よく機能が実現できると感じた。
<リンク>