カテゴリー
エクセル マクロ

04_祝日判定

今回のテーマはエクセルのマクロで祝日判定です。

祝日には周期がないようです。
また企業によっては創立記念日などの祝日もあります。

考えた結果、一日一日 書き込む
ことにしました。

次 コードです

Dim D_num As Date
Dim myData(9) As String
Dim i As Integer

myData(0) = “”
myData(1) = #12/30/2020#
myData(2) = #12/31/2020#
myData(3) = “”
myData(4) = “”
myData(5) = “”
myData(6) = “年末年始の休み”
myData(7) = “年末年始の休み”
myData(8) = “”
myData(9) = “”

For i = LBound(myData) To UBound(myData)

Dim F_num As Long
For F_num = 1 To 10

D_num = CDate(Cells(F_num, 1))
’左角のセルから下に向かって10セル分日付があるとします
’この10セル分の表示はアスタリスクのない日付形式とします

’(*3/14/2012ではなく、2012/3/14とする)

If InStr(myData(i), D_num) <> 0 Then
Cells(F_num, 1).Font.ColorIndex = 46
’祝日に該当するセルの文字色を変更します
Cells(F_num, 2) = myData(i + 5)
’祝日に該当するセルのすぐ右のセルに祝日名を記載します

Exit For
End If
Next F_num
Next i

if文を使って 一次元の行列を
二次元の行列のように
処理しました。

以上です