見出し画像

勤怠表の作成①〜VBAで勤怠入力の自動化!前準備編〜

『入力用の勤怠表』をつくる!

Excelシートに入力された勤怠のデータを、IE(勤怠管理システム)に登録していくツールを目指します。

無題のプレゼンテーション

今回はその「入力用の勤怠表」についての説明です!
(VBAに関しては次の次くらいから)
今回は年月に合わせて、自動で変わる「日にちと曜日」の作成方法を紹介します。
《入力用勤怠表の完成形》

画像5


スクリーンショット 2020-05-03 21.58.04

●最初の日付の関数 (1日)

画像1

=DATE(B2,D2,1)

★DATE関数……. = DATE(年,月,日)
・B2セル → 2020 (年)
・D2セル → 3 (月)
・1 →   1 (日)

●2日以降の関数

画像2

=IF(C5="","",IF(MONTH(C5+1)=$D$2,C5+1,""))

★MONTH関数...... = MONTH(値)
日付 (値) から "月" だけを取り出す関数
・C5 + 1 ➡︎   4/1  +  1  ➡︎  4/2
・4/2 の 月は "4"
・D2セルの値 ➡︎ "4"
※ 値が4/30 の場合は 4/30 + 1 → 5/1で 月の値が "5"になるので、""(空白)が入る

★IF関数 ...... = IF( 論理式, 真の場合, 偽の場合 )

(IF関数①)
 C5セルが""(空白)の場合 → ""(空白)を挿入する
 C5セルが""(空白)でない場合 → IF関数②を実行する
(IF関数②)
 MONTH(C5+1) の値が  D2セルの値と同じ場合
 →C5セル+1の値を挿入する
 MONTH(B5+1)の値が  D2セルの値と等しくない場合
 →""(空白)を挿入する

この関数によってC2セルの値(月)を変更するだけで、自動的にその月の日数が反映されるようになります!(下の感じ)

スクリーンショット 2020-04-18 0.09.18


スクリーンショット 2020-05-03 21.59.31

画像3

= TEXT(B5,"(aaa)")

★TEXT関数...... = TEXT( 値, 表示形式 ) 
・B5セル  →  日付
・"(aaa)"  →  (日),(月)...みたいに表示される
 ※ "aaa"  だけだと、日、月...など( )なしで表示される


---------------------------------------------------------------------
次は自動で枠線を引いたり、休日に合わせてセルに色をつける方法を紹介していきます!