エクセルで連続した日付を書き込む初心者向けに簡単なVBAコードを書いてみました

エクセルVBA
この記事は約1分で読めます。

まずは、とりあえずダウンロード

上でダウンロードしたエクセルファイルを開いてみましょう

どこかのセルに1~12の数値を入力します。例えば、C列の16行目のセルに 9を入力します。

メッセージボックスが開いて日付を縦に並べるか、横に並べるか聞いてくるのでここでは vを入力します(バーチカルのv)。次の瞬間縦方向に1~30までの日付と曜日を書き込みます。

9を書き込んだセルの一行上にその年の数値が書き込みます。
(つまり、表の1行目に数値を入力してもその上にはセルが無いので年を書き込めませんから日付を書き込む動作はできないのです)

最初に出るメッセージで h(ホリゾンタルのh)を入力すると日付は横方向に連続します。

このプログラムでの肝はActivecellとOffsetです。

Activecellは入力したときのセルを表しています。上の例ではセルC16がActivecellです。

Activecell.offset(-1)はActivecellの一行上を意味しますからC15のセルを指します。

書式は Activecell.offset(行位置 ,列位置)です(列位置が0の時は省略できます)

 

コメント

タイトルとURLをコピーしました