非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

Excel/VBA: フィルターで抽出した行番号を取得する方法

      2016/11/09

Excelでフィルターをかけた後、フィルターで抽出した行だけを処理したい場合があったりましす。

[ad#top-1]

例えば下図は人口200万人以上の県をフィルターで抽出したものですが、単純にFor-NextやDo-Loopで処理してもフィルターに関係なく全行を処理してしまいます。

1

 

以下が抽出した行番号を文字列として連結して最後にメッセージボックスで表示させるコードです。

 

ループ処理の中で、5行目に、

If Cells(r, 1).EntireRow.Hidden = False Then

とありますが、ここでフィルターで表示されている行だけを有効にしています。

これを実行すると、以下のように抽出した行番号が現れます。隠れている行番号が除外されています。

2

 

今回は行番号を表示するだけのプログラムですが、あとは目的に応じていろいろアレンジできるかと。

[ad#ad-1]

スポンサーリンク

 - Excel, VBA