【マクロ】Weekday関数を使って祝日を表示
はじめまして。エクセルマクロ初心者です。
不慣れな点も多いかと思いますがよろしくお願いいたします。
現在エクセルマクロを利用して下記作業を実施しようとしています。
***************************************************
(1)【Sheet1】A列が平日ならその行をすべて(空白セルも全て)抜き出し、
【入力ミスシート】のA2セルから順番に転記したい
(2)【Sheet1】A列が祝日であるかを判別するために【祝日シート】を用意
A列に祝日の日程が記述されている
もし、【Sheet1】A列の情報と【祝日シート】A列の情報が一致するなら
その情報は【入力シート】に転記しない
(3)祝日はWeekday関数を用いて7と認識されるようにしたい
***************************************************
このために以下のコードを作成いたしましたがうまくいきません。
コード自体も大変おかしくそのためうまくいかないのが分かっているのですが
周りに聞ける人もおらず困っております。
どうかご教示くださいませ。
よろしくお願いいたします。
dim i as variant
dim a as integer
dim mysh1 as worksheet
dim mysh3 as worksheet
dim holiday as variant
i=2
set mysh1 =Worksheets("sheet1")
set mysh3 =Worksheet("祝日")
do until cells(i,1).value =""
a=weekday(cells(i,1)) '現在の曜日を日付で取得
'sheet1A列の情報と祝日シートのA列の情報が一致するか調べる
holiday = Application.vlookup(mysh1.cells(i,1),mysh3.columns("A"),1,false)
'もし一致するならWeekday関数が曜日にかかわらず0と認識させる
Select Case a
case 1,7,0 'もしaが土日祝の場合マクロを終了させます
Exit Sub
Case Else
End Select
i=i+1
Loop
end sub
お礼
ありがとうございます