59本目 四半期ごとにシートを新規ブックで保存

VBA100本ノック

VBA100本ノック 59本目を動画で解説しています。Excelの神髄さんの模範解答はコチラ


問題

#VBA100本ノック59本目
ブック(ThisWorkbook)には「2020年04月」から「2021年03月」の12シートがあります。
四半期ごとのシートで1ブックとして、同一フォルダに出力ください。
「2020年04月」「2020年05月」「2020年06月」この3シートで→1Q.xlsx
以下同様に4Q.xlsxまでの4ファイル

解答

Sub 日付を扱う()

    Application.DisplayAlerts = False
    
    Dim startDate As Date
    startDate = #4/1/2020#
    
    Dim i As Long
    Dim n As Long: n = 0
    For i = 1 To 4
        Sheets(Array( _
            Format(DateAdd("m", n, startDate), "yyyy年mm月"), _
            Format(DateAdd("m", n + 1, startDate), "yyyy年mm月"), _
            Format(DateAdd("m", n + 2, startDate), "yyyy年mm月"))).Copy
        ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & i & "Q.xlsx"
        ActiveWorkbook.Close
        n = n + 3
    Next i
        
End Sub
新人君
新人君

実務っぽい問題ですね!

ブチョ
ブチョ

シハンキって何?
お米炊くやつ?

新人君
新人君

それは炊飯器…

コメント

タイトルとURLをコピーしました