|
Dim PsSt As Worksheet
If IsDate(Me.TextBox1.Value) And IsDate(Me.TextBox2.Value) Then
MsgBox "テキストボックスの値は日付として認識できません", 48
Exit Sub
End If
Set PsSt = ThisWorkbook.Worksheets("保守期限一覧表")
With Worksheets("管理表マスター")
Da1 = Format(Me.TextBox1.Value, .Range("BG6").NumberFormat)
Da2 = Format(Me.TextBox2.Value, .Range("BG6").NumberFormat)
With .Range("M3:BG" & r2)
.AutoFilter field:=47, Criteria1:=">=" & Da1, _
Operator:=xlAnd, Criteria2:="<=" & Da2
.AutoFilter field:=1, Criteria1:="=保守*"
End With
If .AutoFilter.Range.SpecialCells(12).Rows.Count = 1 Then
MsgBox "フィルターで抽出されたデータはありません", 48
Else
.Range("B4:K" & r2).Copy
PsSt.Range("B5").PasteSpecial xlValues
Application.CutCopyMode = False
.Range("M4:W" & r2).Copy
PsSt.Range("L5").PasteSpecial xlValues
Application.CutCopyMode = Fals
.Range("AZ4:BU" & r2).Copy
PsSt.Range("W5").PasteSpecial xlValues
Application.CutCopyMode = Fals
End If
.AutoFilterMode = False
End With
Set PsSt = Nothing
というようにします。
|
|