VBAのオートフィルタでちょっと詰まっていたが解決したので共有します。
発生バージョン:Excel2016
問題
全角文字と半角文字が混ざった列に下記のコードでオートフィルタをかけようとすると
見出しではなく1行目にかかってしまう
オートフィルタをかけようとするテーブル
ID | name |
---|---|
a | MOMOTARO |
b | さる |
c | いぬ |
d | きじ |
ネットで調べるとよく出てくるオートフィルタの例
Range("A1").AutoFilter Field:=2, Criteria1:="MOMOTARO"
これでオートフィルタをかけると見出しではなく1行目にオートフィルタが
かかってしまう
ただ、nameがすべて半角文字(さる→SARU、いぬ→INU、きじ→KIJI)なら上手くいくようだ
解決
マクロの自動記録をつかってnameからMOMOTAROを抽出する操作を行ってみたところ以下のコードが得られた
Range("A1:B5").AutoFilter Field:=2, Criteria1:="MOMOTARO"
実行すると上手くいった
最初にRangeで表全体を指定するのが重要らしい
以上