生産管理 年間シートを作ってみよう
Step 8 月末の日付を設定する
1月~12月のシートは「原紙」をコピーし作成しますが、「原紙」は31日までになっています。
そこで、2月等のように31日ない月の日付を消します。
末日を取得するには、Excel Tipsで作成した「月の末日を計算」を使用しました。
原紙をコピーし、シート名を変更した直後に設定します。
Homeに戻る >
Excelでアプリケーションソフト3 >
生産管理 年間シート
実行画面
2010年2月の末日は28日に設定できました。
実行VBAコード
'月の末日を計算
Private Function MonthLastDay(yy As Integer, mm As Integer) As Integer
Dim i As Integer
Dim tdate As Date
tdate = Format(yy & "/" & mm & "/1", "yyyy/mm/dd")
i = 28
Do
i = i + 1
Loop Until Day(tdate + i - 1) = 1
MonthLastDay = i - 1
End Function
'月末を設定する
Private Sub MonthLastDaySet(sy As String, n As Integer)
Dim nlast As Integer
Dim i As Integer
nlast = MonthLastDay(Val(sy), n)
If nlast < 31 Then
'末日+1から31日まで消す
For i = nlast + 1 To 31
Sheets(sy & "年" & n & "月").Cells(5, 2 + i) = ""
Next
End If
End Sub
'原紙を1年分コピーする
Private Sub ExGensiCopy()
Dim i As Integer
Dim sy As String
Dim n As Integer
'作成する年
sy = Range("C7")
For n = 1 To 12
'シートのコピー
Worksheets("原紙").Copy before:=Worksheets("作成メニュー")
For i = 1 To Sheets.Count
If Len(Sheets(i).Name) > 2 And Left(Sheets(i).Name, 2) = "原紙" Then
'シート名の変更
Sheets(i).Name = sy & "年" & n & "月"
MonthLastDaySet sy, n
Exit For
End If
Next
Next
End Sub
Homeに戻る >
Excelでアプリケーションソフト3 >
生産管理 年間シート
■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します
Copyright (c) Excel-Excel ! All rights reserved