■13118 / 4階層) |
オートフィルターで条件を省く場合について
|
□投稿者/ よねさん -(2016/12/22(Thu) 08:28:15)
| 「本来はsheet1を指定しないといけないのかな??」<---この方がコードがわかりやすいと思います。
また、どのシートからでも実行することができるようになりますので。
Sheetを省略するとアクティブシートのことになるので、ほかのシートから実行するときに都合が悪くなります。
ただし、コードが長くなりますけど、それはしょうがないですね。
コードを修正してみました。
抽出先はSheet3のA1としていますので、ご注意ください。
Sub test1()
Dim gyo As Long
Dim retu As Long
gyo = Sheets("Sheet1").Cells(1, 1).End(xlDown).Row
retu = Sheets("Sheet2").Cells(1, 1).End(xlToRight).Column
Sheets("Sheet3").Range("A:D").Clear
Sheets("Sheet1").Range(Sheets("Sheet1").Cells(1, 1), Sheets("Sheet1").Cells(gyo, 4)).AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets("Sheet2").Range(Sheets("Sheet2").Cells(1, 1), Sheets("Sheet2").Cells(2, retu)), _
CopyToRange:=Sheets("Sheet3").Range("A1"), _
Unique:=False
End Sub
|
|