Q.
会議室を貸す業務で常に当月を含む3ヵ月分のカレンダーが
毎月必要になります。
サンプルでは縦に日・曜日になっていますが、このレイアウト
を横に曜日、その下に5~6行に日にちを表示できるように
(横方向のレイアウトに)マクロを組む方法を教えてください。
A.
この場合には「セルを選択する方法」の一つである Cells
というものを使うのが便利です。
この Cells については、Lesson 42に詳しくありますので、
まずはそちらをご覧ください。
Lesson 42からの抜粋↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
2)
それでは、きょうはもう一つ、今後自動集計のプログラムを作る上で便利な
「セルを選択する方法」として、次の1行をみなさんに覚えていただきたい
と思います。
++++++++++++++++++++++++++++―
Cells(1, 2).Select
++++++++++++++++++++++++++++―
これは、「絶対移動」に当たるセル選択の方法で、特長はというと、数字で
その移動位置が指定できる点です。
例えば、
Cells(1, 1).Select・・・ A1 のセルを選択する
Cells(2, 2).Select・・・ B2 のセルを選択する
Cells(2, 3).Select・・・ C2 のセルを選択する
となり、( )内の最初の数字が行番号、後の数字が列番号(A列が1、
B列が2、C列が3、・・・)を示します。
また、列名を使いなれたアルファベットで指定する形に直して
Cells(1, 1).Select → Cells(1, "A").Select
と書いてもOKです。
抜粋ここまで↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
で、例えば
Cells(2, 1).Select・・・ A2 のセルを選択する
Cells(2, 2).Select・・・ B2 のセルを選択する
Cells(2, 3).Select・・・ C2 のセルを選択する
・
・
・
を示しますから、カッコ内の右側の数字とうのが、うまい具合に
まさしく曜日番号と一致しているわけです。
"日,月,火,水,木,金,土" → "1,2,3,4,5,6,7"
すなわち、
列番号 = 曜日番号
となるわけです。
これをうまく使っていけばよいですね。
また、翌月の場合も、もし次の翌月がI列から始まるとすると、
列番号 = 曜日番号+8
とすればよいだけですから、まず最初の1ヶ月分ができてしまい
さえすれば、翌月以降もこれを使えば簡単ですね。
★夏休みの1日でマクロ作りがマスターできる講座
エクセルマクロの「初心者サマーセミナー 2012」