「Excel VBA SpecialCells xlLastCell xlCellTypeLastCell」
といった検索で、時折アクセスがあることに気がつきました。
Excel VBAのRange.SpecialCellsメソッドの、
引数Typeに指定できる定数の、xlCellTypeLastCellと、
xlLastCellの違いを調べていらした方による検索です。
xlCellTypeLastCell・xlLastCellどちらでも結果は同じ
いずれも実際の値は「11」ですから、どちらを使っても結果は同じです。
Cells.SpecialCells(xlCellTypeLastCell)
でも、
Cells.SpecialCells(xlLastCell)
でも、最終セルを表すRangeオブジェクトを取得できます。
違いとしては、定数の定義されている列挙型です。
xlCellTypeLastCellは、XlCellType列挙型に
xlLastCellは、Constants列挙型に
それぞれ定義されています。
結果としては同じなのですが、そもそもRange.SpecialCellsメソッドは、
Function SpecialCells(Type As XlCellType, [Value]) As Range
と定義されていますから、XlCellType.xlCellTypeLastCellを使うべきでしょう。
マクロ記録でできるコードは違う
ちなみに、最終セルを選択する操作としては、ショートカットキーを使う操作と、[選択オプション]ダイアログボックスを使う方法があります。
この2つで、作られるコードは異なります。
ショートカットキー[Ctrl]+[End]では、
ActiveCell.SpecialCells(xlLastCell).Select
と、Constants.xlLastCellを使ったコードが作られます。
一方、[選択オプション]ダイアログボックスを使って最終セルを選択した場合には、
Selection.SpecialCells(xlCellTypeLastCell).Select
と、XlCellType.xlCellTypeLastCellを使ったコードが作られます。
Home » Excel VBA Rangeオブジェクト » SpecialCellsメソッド » xlCellTypeLastCellとxlLastCellの違い