VBAでカレンダープログラミング

By | Date : 2014/10/23 ( Last Update : 2016/05/24 ) | 689 views

Myoga-SB-SDF-A2

Hello~! ミョウガです!
今回はVBA(Visual Basic Application)を使って、Excelのワークシートにカレンダーを出力してみようと思います。

 

1. VBAでカレンダーを出力してみよう

VBAには日付を扱うためのDate型があります。これを使ってコーディングしてみます。基本的に前回のをベースにしています。

※1 : VBAでは++演算子でインクリメントすることができません。
※2 : VBA(というよりはVisual Basic系)で他の言語のような整数の割り算をする時の演算子は「/」でなく「\」を使います。「/」では結果が小数となり、整数型変数に代入すると小数点以下が四捨五入されます。

なお、プログラムはhttps://gist.github.com/Myoga1012/806f48d7eaed508ac678でも公開しています。
コンテストにはこのプログラムで応募しました。
Cellsに指定する行・列の値はそれぞれ1から始まります。そのため、行は7で割った値(小数点以下切り捨て)に1を加算した値、列は7の余剰に1を加算したものを指定すると、Figure-1.1に示すようにA1からG6の範囲にカレンダーが出力されます。

CalendarVBA

Figure-1.1: 実行結果

セルの位置を直接指定しているため、1日の曜日に合わせてオフセットする処理が不要になる上、土曜日の出力後の改行も不要になります。また、ワークシートのセル上では数値はデフォルトで右揃えになるので、1~9日もそのまま出力して大丈夫です。

 

2. おわりに

今回のプログラムでは当月分のカレンダーだけを出力していました。これにセルの大きさを変えたり、罫線を引いたりして、あなただけのオリジナルカレンダーを作成してみてはいかがでしょうか。

ではでは、See youですよっ♪

この記事をシェアする
Chronoir.netのRSSフィードを購読する

About : ミョウガ(Myoga)

Hello~! 「ミョウガ」です。よろしくお願いします!(≧▽≦)/ 主にC#/XAML/C++などをメインにプログラミングやアプリの開発をしています。好きな物はカフェラテとハーブティ、趣味は写真撮影と艦これです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*