kt関数メニュー「暦シートの作成」で作成しているカレンダーを出力するサブルーチン
です。VBAから操作すると、基本形出力後にカスタマイズする事も出来ます。
『月火水木金土日』並びのBox型暦も作成できます。
※ 暦を作成する シート が プロテクト されている場合、暦は作成されません。
Call kt暦作成( 暦種別, 基準日付, 休日Map, 作成シート, 基準セル, [月曜から] )
暦種別 ‥‥‥ Integer 型 基準日付 ‥‥‥ Variant(Date) 型 休日Map ‥‥‥ String 型 作成シート ‥‥‥ Worksheet 型 基準セル ‥‥‥ String 型 月曜から ‥‥‥ Boolean 型 (省略可、省略時:False)
暦種別 ‥‥‥ 1:縦型 2:横型 3:BOX(大)型 4:BOX(小)型
基準日付 ‥‥‥ カレンダーを作成する『初日』をシリアル値 または 日付文字列で指定します。
※ 新元号「令和」対応になっていない環境でも
「令和 日付文字列(元年 表記を含む)」を指定可能です。
日付の値が不正の場合は、暦を作成せずに終了します。
「基準日付〜翌月応当日の前日」までが1月分となります。
通常は「y年m月1日」を指定しますので「1日〜月末日」ですが、月の中日を指定する事も出来ます。
「y年m月16日」を指定した場合は「16日〜翌15日」で作成します。
休日Map ‥‥‥ ここをクリック 作成シート ‥‥‥ カレンダーの出力先シートをWorksheetオブジェクトで指定します。
(Activesheet,Worksheets("Sheet1") など)
基準セル ‥‥‥ カレンダーを書き出す範囲の左上隅セルを【A1形式】の文字列で指定します。
月曜から ‥‥‥ 『月火水木金土日』並びのBox型暦を作成する場合に【True 】を指定します。省略またはFalse指定時は従来の『日月〜土』並びになります(Ver2.10で作成したマクロを修正する必要はありません。省略時解釈で『日月〜土』になります)。縦型/横型の場合には、このパラメータは無視されます。
このサブルーチンが出力するのは『1月分』です。1年分のカレンダーを作成する場合は
サンプルコードのように、ループ処理で行ないます。
暦を作成する シート が プロテクト されている場合には、暦は作成されません (ユーザーサイド
へのエラー通知はありません) が、ユーザーサイド でも事前に プロテクトチェック を行なう事を
お薦めします(使用例 を 参照して下さい)。
縦型暦のサンプルコード
横型暦のサンプルコード
Box(大)型暦のサンプルコード
Box(小)型暦のサンプルコード