AdvancedFilterの引数「CopyToRange」の書き方について。

ExcelVBAのAdvancedFilterの引数の書き方についてテストしたので結果をメモメモ

いままで何度か失敗していて、今回もテストしてみてうまくいかなかった例
ちなみに2列をAdvancedFilterにかけて、結果も2列分出力(FilterCopy)
その他、AdvancedFilterはシートを指定したWithブロックの中として書いている。

CopyToRange:=.Range(.cells(1,13))

これは駄目。。。。
ネットで調べてみるものの「引数はVariant型で。」と書いてある。
String型だと言われたら仕方がないが、なぜこれで駄目なのかよく分からなかった。

以下、3例はすべてOK

CopyToRange:=.Range("M1")
CopyToRange:=.Range(.cells(1,13),.cells(1,14))
CopyToRange:=.Range(.cells(1,13),.cells(1,13))

最後の例が通ったのは以外だった。
Rangeとしては一つのセルを指定しているけれど、きちんと2列のリストが抽出されていた。

疑問は残ったものの、テストしてみた結果今後の作業効率は
ほんのチョットだけ上がると思う。。。