- ベストアンサー
オートフィルタをマクロで作成したときに列番号ではなく文字で判別させたい
こんにちわ、質問させていただきます。 マクロでオートフィルタを使いたいのですが、 Worksheets("Sheet1").Range("A1").AutoFilter _ field:=1, _ Criteria1:="東京" VisibleDropDown:=False このfield:=1という列番号指定を文字列で検索したいと思っています。 例えばどこかの行に「地域」という列があった場合”地域”の列にフィルタをかけて東京を検索したいといった場合です。 ↓ 地域 市外局番 郵便番号 東京 03 100 このフィールドを文字列指定することは不可能なのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Sub test() ActiveSheet.Rows("1:1").Find(What:="地域", LookIn:=xlFormulas, LookAt _ :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate x = ActiveCell.Column Worksheets("Sheet1").Range("A1").AutoFilter _ Field:=x, _ Criteria1:="東京" End Sub
その他の回答 (1)
- sam_inoue
- ベストアンサー率47% (27/57)
>field:=1 これはフィルタを設置した範囲の相対位置を示す番号です。 No.1さんのように別手段で"地域"の列位置を探して、 その番号を割り当てるしかありません。 今回のケースではフィルタがA列から始まっているようなので、 相対番号=カラム番号 ですが、本来はフィルタの範囲の相対位置の番号なので注意が必要です。
お礼
補足説明ありがとうございました。何とか理解することができました。柔軟性が必要ですね・・・お世話になりました!
お礼
希望通りのものができました!本当にありがとうございます。