Excelではバージョンにより最終行(データの入っている行の最終、ではなくExcel自体の最後の行)が違う。固定値で持つと厄介で、かといっていちいちその場で設定するのも保守性を落とすことになる。

ちなみに最終行は
・Excel 2007 : 1,048,576行
・Excel 2003以前(Excel 5 迄?): 65,536行
である。

そこで、こんな風なプロパティを作ればどうだろう?Excel4以前はVBAに対応していないのでこれでごまかすとして・・。

Public Property Get LAST_ROW() As Long
Dim Val As Long

Val = Application.Version

If Val = 12 Then
LAST_ROW = 1048576
Else
LAST_ROW = 65536
End If


End Property

こういうのも共通処理として、サンプルで配布しようかと思う。


ブログトップへ
ブログ内検索キーワード
  サンプル