|
インプットボックスを使わないで、フォームを使った方がいいと思いますけど、
いちいち文字を分解しなくてすむし...。
インプットボックスだとこんな感じで面倒です。
97でも使えるようにSplit関数使ってません。
ろくなエラー処理を施してません。
Do
mstr = InputBox("何年/何月分を抽出しますか?" & vbLf & "記入例" & vbLf & _
"2007/1〜2007/8", "抽出月指定")
If mstr = Empty Then
Exit Sub
ElseIf InStr(1, mstr, "〜") > 1 Then
Stt = InStr(1, mstr, "〜")
If IsDate(Left(mstr, Stt - 1) & "/1") And IsDate(Mid(mstr, Stt + 1) & "/1") Then
左辺 = Left(mstr, Stt - 1)
初年 = Left(左辺, InStr(1, 左辺, "/") - 1)
初月 = Mid(左辺, InStr(1, 左辺, "/") + 1)
右辺 = Mid(mstr, Stt + 1)
終年 = Left(右辺, InStr(1, 右辺, "/") - 1)
終月 = Mid(右辺, InStr(1, 右辺, "/") + 1)
Exit Do
Else
MsgBox "記入方式" & vbLf & "2007/1〜2007/8" & vbLf & "これ以外受け付けません。"
End If
Else
MsgBox "記入方式" & vbLf & "2007/1〜2007/8" & vbLf & "これ以外受け付けません。"
End If
Loop
MsgBox "初年 " & 初年 & " " & "初月 " & 初月 & vbLf & _
"終年 " & 終年 & " " & "終月 " & 終月
|
|