|
こんにちは
こんな感じかな?
If IsDate(Me.TextBox1.Value) And IsDate(Me.TextBox2.Value) Then
Da1 = Format(Me.TextBox1.Value, .Range("BG6").NumberFormat)
Da2 = Format(Me.TextBox2.Value, .Range("BG6").NumberFormat)
If .AutoFilterMode = False Then
.Range("M3:GB3").AutoFilter
End If
With .Range("M3:BG" & r2)
.AutoFilter field:=47, Criteria1:=">=" & Da1, Operator:=xlAnd, _
Criteria2:="<=" & Da2
.AutoFilter field:=1, Criteria1:="=保守*"
If .Range("M65536").End(xlUp).Row > 4 Then
.Range("B4:K" & r2).SpecialCells(xlCellTypeVisible).Copy
ThisWorkbook.Worksheets("保守期限一覧表").Range ("B5")
.PasteSpecial xlValues
.Range("M4:W" & r2).SpecialCells(xlCellTypeVisible).Copy
ThisWorkbook.Worksheets("保守期限一覧表").Range ("L5")
.PasteSpecial xlValues
.Range("AZ4:BU" & r2).SpecialCells(xlCellTypeVisible).Copy
ThisWorkbook.Worksheets("保守期限一覧表").Range ("W5")
.PasteSpecial xlValues
Application.CutCopyMode = False
Else
MsgBox "抽出データはありません。", vbCritical
End If
.AutoFilterMode = False
End With
Else
MsgBox "テキストボックスの値が日付として確認出来ませんでした。", vbCritical
End If
|
|