'-----------------------------------------------------------------------------------------
Private Sub 休日表の年と月の列を年月シートに写して6桁の年月を算出する()
Sheets("年月").Select '年月シートを
Cells.Clear 'すべてクリアする
Sheets("休日表").Select '休日表シートの
Columns("A:B").Copy '年月の列をコピーする
Sheets("年月").Select '年月シートに
Range("A1").PasteSpecial Paste:=xlValues '値を貼り付ける
'年と月をつないだ文字列を作る式を年月シートのセルに埋め込む
Range("C2").FormulaR1C1 = "=LEFT(RC[-1],LEN(RC[-1])-1)" '月の数字部分を取り出す式
Range("D2").FormulaR1C1 = "=LEFT(RC[-3],4)" '年の数字部分を取り出す式(最初の行だけ)
Range("C2").Copy 'C2セルをコピーする
Range("C4").PasteSpecial Paste:=xlFormulas 'C4セルヘ式を貼り付ける
Range("D4").FormulaR1C1 = "=IF(RC[-3]="""",R[-2]C,LEFT(RC[-3],4))" '年の数字部分を取り出す式
Range("E2").FormulaR1C1 = "=RC[-1] & RIGHT(""00"" & RC[-2],2)" '年と月をつなぐ式
Range("E2").Copy 'E2セルをコピーする
Range("E4").PasteSpecial Paste:=xlFormulas 'E4セルヘ式を貼り付ける
Sheets("休日表").Select '休日表シートの
下 = Range("C2").End(xlDown).Row '1日の列で下端を検出する(年月シートの下端でもある)
Sheets("年月").Select '年月シートの
Range("C4:E5").Copy 'C4〜E5セルまで2行分をコピーする
Range(Cells(6, 3), Cells(下, 5)).PasteSpecial Paste:=xlFormulas 'C6からE列の最下端行セルまで式を貼り付け
最小YM = Range("E2").Value '入力年月のチェック用
最大YM = Range(Cells(下 - 1, 5), Cells(下 - 1, 5)).Value
End Sub
'-----------------------------------------------------------------------------------------