|
よくは見ていませんが、多分
>mstr = InputBox("何日を抽出しますか?(数字のみ)", "抽出日指定")
と
>If Month(TDate) = Month(mstr) And Day(TDate) = Day(mstr) Then
で
mystrには数字(何桁かはわかりませんが・・)
その数字から、月と日を抜き出せないのだと思います。
入力から日付の取得は怪しいですが、
4桁の数字(mmdd)で判断して、オートフィルターで抽出しています。
最近は、失敗が多いのであぶないですが、試してみてください。
Sub test()
Dim myDay1 As String
Dim myday2 As String
Dim newSH As Worksheet
Do
myDay1 = Application.InputBox("何日を抽出しますか?(数字のみ:mmdd)", Title:="抽出日指定", Type:=2)
If Len(myDay1) = 4 Then
Exit Do
End If
Loop
myday2 = Left(myDay1, 2) & "月" & Right(myDay1, 2) & "日"
With Sheets("Sheet1")
.Range("A1").AutoFilter Field:=1, Criteria1:="<=" & myday2, Criteria2:=">=" & myday2
If .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count = 1 Then
MsgBox "その日付のデータはありません"
.AutoFilterMode = False
Else
Set newSH = Sheets.Add(after:=Sheets(Sheets.Count))
newSH.Name = myday2
.AutoFilter.Range.Copy newSH.Range("A1")
.AutoFilterMode = False
End If
End With
End Sub
|
|