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列のリストが抽出されていた。
疑問は残ったものの、テストしてみた結果今後の作業効率は
ほんのチョットだけ上がると思う。。。