|
こんにちは
私のコードを参考にしましたか???
でコードを見て感じた事ですが。
マスターシートにオートフィルタが設定していたら処理はしないのかな?
普通はオートフィルタの設定が如何であれ抽出してコピーするのが目的でコードを
作ると思いますが。
なので、設定しているかで処理をするしないでなく、設定していなければ設定して
処理ようにしました。
Withステートメント使い方はあっているのですが「Sheet1」でなく「マスター」で
使った方が良いような気がします。
一応参考までに。
Sub Macro1()
Dim r As Long
Dim WS As Worksheet
Set WS = Worksheets("Sheet1")
With Worksheets("管理表マスター")
r = .Range("E65536").End(xlUp).Row
If .AutoFilterMode = False Then
.Range("K3:AE3").AutoFilter
End If
.Range("K3:AE" & r).AutoFilter Field:=21, Criteria1:="="
.Range("K3:AE" & r).AutoFilter Field:=1, Criteria1:=">2005/10/1", Operator:=xlAnd
.Range("K3:AE" & r).AutoFilter Field:=3, Criteria1:="ユーザー"
.Range("B513:F" & r).Copy
WS.Range("B5").PasteSpecial xlValues
.Range("H513:I" & r).Copy
WS.Range("G5").PasteSpecial xlValues
.Range("K513:K" & r).Copy
WS.Range("I5").PasteSpecial xlValues
.Range("M513:N" & r).Copy
WS.Range("J5").PasteSpecial xlValues
.Range("W513:W" & r).Copy
WS.Range("L5").PasteSpecial xlValues
WS.Application.CutCopyMode = False
.AutoFilterMode = False
End With
Set WS = Nothing
End Sub
|
|