Excelマクロで質問です。 インプットボックスに、作成したい月を入力して月初と月末を取得したいです。 Sub 作成() Dim mypath As String
Excelマクロで質問です。 インプットボックスに、作成したい月を入力して月初と月末を取得したいです。 Sub 作成() Dim mypath As String Dim fday As Long Dim lday As Long mypath = ThisWorkbook.Path & "\" & Format(DateAdd("m", 1, Date), "m") & "\" If Dir(mypath, vbDirectory) = "" Then MkDir mypath '来月のフォルダを作る End If fday =DATE(YEAR(TODAY()), MONTH(TODAY()) + 1, 1) '来月の1日 lday=DATE(YEAR(TODAY()), MONTH(TODAY()) + 2, 0) '来月の月末 ↑パソコンがないので実行できていませんが、来月とするならこうかな?と上記コードを書いてみました。 おかしなところがあれば教えてください。 これに、インプットボックスに入れた月をどう扱えばいいか分かりません。↓ Dim mymon As String Dim mypath As String Dim fday As Long Dim lday As Long mymon = Application.InputBox("作成したい月を入力してください。") mypath = ThisWorkbook.Path & "\" & mymon & "\" If Dir(mypath, vbDirectory) = "" Then MkDir mypath '入力した月のフォルダを作る End If fday =DATE(YEAR(TODAY()), MONTH(mymon) , 1) '入力した月の1日 lday=DATE(YEAR(TODAY()), MONTH(mymon) + 1, 0) '入力した月の月末 よろしくお願いします。
Visual Basic | Excel・45閲覧
ベストアンサー
Sub Example() Dim 対象月% 対象月 = Application.InputBox("作成したい月を入力して下さい。", Type:=1) If 対象月 < 1 Or 対象月 > 12 Then MsgBox "不正な入力" Exit Sub End If Dim 親フォルダ$: 親フォルダ = ThisWorkbook.Path Dim 子フォルダ$: 子フォルダ = 対象月 Dim フォルダパス$: フォルダパス = 親フォルダ & "\" & 子フォルダ If Dir(フォルダパス, vbDirectory) = "" Then MkDir フォルダパス End If Dim 月初 As Date, 月末 As Date 月初 = DateSerial(Year(Date), 対象月, 1) 月末 = DateSerial(Year(Date), 対象月 + 1, 0) Debug.Print 月初 Debug.Print 月末 End Sub
質問者からのお礼コメント
ありがとうございます!
お礼日時:6/29 15:29