|
▼福神漬 さん:
>オートフィルタで抽出したデータを別シートに転記するマクロを作りました。
>AutoFilterMode = Falseとしているのですが、管理表マスターのオートフィルタは
>解除されません。
>解除させるにはどうすればいいですか?
>よろしくお願い致します。
>
>Sub Macro1()
> Dim r As Long
> Dim WS As Worksheet
> Set WS = Worksheets("管理表マスター")
> r = Worksheets("管理表マスター").Range("E65536").End(xlUp).Row
> If AutoFilterMode = False Then
> With Worksheets("管理表マスター").Range("K3:AE" & r)
> .AutoFilter Field:=21, Criteria1:="="
> .AutoFilter Field:=1, Criteria1:=">2005/10/1", Operator:=xlAnd
> .AutoFilter Field:=3, Criteria1:="ユーザー"
> End With
> Sheets("管理表マスター").Range("B513:F" & r).Copy
> With Sheets("Sheet1").Range("B5")
> .PasteSpecial xlValues
> End With
> Sheets("管理表マスター").Range("H537:I" & r).Copy
> With Sheets("Sheet1").Range("G5")
> .PasteSpecial xlValues
> End With
> Sheets("管理表マスター").Range("H513:I" & r).Copy
> With Sheets("Sheet1").Range("G5")
> .PasteSpecial xlValues
> End With
> Sheets("管理表マスター").Range("K573:K" & r).Copy
> With Sheets("Sheet1").Range("I5")
> .PasteSpecial xlValues
> End With
> Sheets("管理表マスター").Range("K513:K" & r).Copy
> With Sheets("Sheet1").Range("I5")
> .PasteSpecial xlValues
> End With
> Sheets("管理表マスター").Range("M513:N" & r).Copy
> With Sheets("Sheet1").Range("J5")
> .PasteSpecial xlValues
> End With
> Sheets("管理表マスター").Range("W513:W" & r).Copy
> With Sheets("Sheet1").Range("L5")
> .PasteSpecial xlValues
> End With
> Sheets("管理表マスター").Select
> Application.CutCopyMode = False
> AutoFilterMode = False
> End If
>End Sub
コードの内容を詳しく見てませんが、
If AutoFilterMode = False Then
これだと、ActiveSheetに対しての命令になりませんか?
ActiveSheetがなにか分かりませんが、管理表マスターがActiveでないとしたら、Worksheetオブジェクトが指定されてないからだと思います。
面倒でも親オブジェクトを省略しないとか、規定のValueプロパティを省略しないとかけっこう大事ですよね。
まったく見当違いのことでしたらゴメンなさい。
|
|