Excel VBAで、入力されている最終のセル位置を取得する

入力されている最終のセル位置を取得するのは、既存のデータの次に新規データを追加したい場合などに必要になる処理です。



Homeに戻る > Excel セルのTipsへ

色々な方法がありますが、今回は最終のセル位置を検索するのに、RangeオブジェクトのFindメソッドを使います。

構文は下のようになります。

Object.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection,MatchCase, MatchByte, SearchFormat)

LookIn、LookAt、SearchOrder、MatchByte、MatchCaseを、省略した場合には前回処理で使用された値を使用します。

繰り返し検索を行うには、Object.FindNext(After)、Object.FindPrevious(After) を使用します。

同様の最終位置を取得するVBA「入力されている最終位置、先頭位置の取得」を掲載しています、参考にしてください。



Findメソッドを使用し、入力されている最終のセル位置を取得するVBA

Excelの標準モジュールにVBAコードを作成

'最終セル位置を取得する
Public Sub GetLastCell()
    Dim s1 As String

    'Findを実行
    'What:="*"空でないセル、LookAt:=xlWhole:完全一致、
    'SearchOrder:=xlByRows:行方向
    'SearchDirection:=xlPrevious:前のセル
    ActiveSheet.Cells.Find(What:="*", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Select

    s1 = "セル位置:" & ActiveCell.Address & _
        " 行:" & ActiveCell.Row & " 列:" & ActiveCell.Column

    MsgBox "最終位置は " & s1

End Sub

Excel VBAの実行結果

最終位置のアドレスと行列の位置が表示されます。

シートに何も入力されていない場合はエラーになりますので、必ず何か入力しておいてください。

VBAの実行結果



Homeに戻る > Excel セルのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved