唐突にExcelVBAメモ

知らない人を超絶置いてけぼりにして申し訳ありませんが、ExcelVBAメモです。
セル範囲を扱うメソッド・プロパティの中に、特定の列を取り出すときに便利な「Columnsプロパティ」と、可視セルを取り出すときに便利な「SpecialCellsメソッド」というものがあります。これらを組みあわせて「選択されたセル範囲のうち、可視セルの1行目だけを取り出したい」と考えたとき、

Selection.SpecialCells(xlCellTypeVisible).Columns(1)

とやりたくなりますが、これはうまくいきません。やるならば

Selection.Columns(1).SpecialCells(xlCellTypeVisible)

または

Intersect(Selection.Columns(1), Selection.SpecialCells(xlCellTypeVisible))

とやらないといけないようです*1
あまり必要に迫られる機会はないかも知れませんが、誰かの役に立てるかも知れませんので、メモとして残しておきます*2

*1:なぜ上手くいかないかは、それぞれ結果を出力してみれば想像できると思います。

*2:なお、動作確認はExcel2007で行いました。