• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[VBA] 年度を指定し、以降の日付を表示する)

[VBA] 年度を指定し、以降の日付を表示する

このQ&Aのポイント
  • 年度を指定し、以降の日曜日から始まる日付を取得するVBAの作成方法について教えてください。
  • 特定の年度をプルダウンで選択し、その年度から始まる週の日曜日の日付を取得し、指定したセルに入力するVBAを作成したいです。
  • なるべく現在の年度近辺の週が表示されるようにすると、より使いやすいです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#192382
noname#192382
回答No.1

年度と何週目かを指定すると指定した個数の日曜日を書き出すプログラムを作りました。試してみてください。年度はB4、何週目かはB5、個数はB6にいれてマクロを動かせば師弟の個数の日曜日の日付が表示されます。 Sub Macro2() ' ' Macro2 Macro ' マクロ記録日 : 2012/7/12 ユーザー名 : ' ' Dim kazu As Integer, hosei As Variant, newser As Variant, serial As Variant, kurikaeshi As Integer, i As Integer, hi As Variant Range("a4") = "年" Range("a5") = "何番目" Range("a6") = "いくつ" Range("e4") = Range("b4") & "年1月1日" Range("f4") = DateValue(Range("e4")) serial = Range("f4") Range("g4") = WeekDay(Range("f4")) kazu = Range("G4") 'MsgBox (kazu) Select Case kazu Case Is = 7 hosei = 1 Case Is = 6 hosei = 2 Case Is = 5 hosei = 3 Case Is = 4 hosei = 4 Case Is = 3 hosei = 5 Case Is = 2 hosei = 6 Case Is = 1 hosei = 0 Case Else End Select newser = serial + hosei Range("h4") = newser Range("i4") = newser + (Range("b5") - 1) * 7 Range("I4").Select Selection.Copy Range("C5").Select Selection.PasteSpecial Paste:=xlFormulas, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False 'MsgBox (Range("c5")) hi = Range("c5") kurikaeshi = Range("b6") + 5 For i = 7 To kurikaeshi Cells(i, 2) = i - 5 Cells(i, 3) = hi + 7 hi = Cells(i, 3) Next End Sub

関連するQ&A