UiPath Excelのシートの最終行を取得する方法
この記事ではUiPathでExcelシートの
最後の行数を取得する方法を紹介します。
手順
繰り返しで判定する手もありますが、
手間が大きいので今回はマクロを併用します。
(マクロは作成済みで掲載しています)
まずExcel アプリケーションスコープを設置し、
最終行を取得したいブックをパスに指定します。
このブックはマクロ有効ブック(xlsm)でなくて構いません。
そしてVBA の呼び出しを中に設置します。

そして変数を用意します。
VBA の呼び出しから結果を受け取るには
Object型である必要があります。
よってObject型の変数とInt32型の変数を用意します。

VBA の呼び出しはこのようにプロパティ設定をします。
マクロは下記ファイルを利用します。
中身はこのようになっています。
Function LastRow(sheetName as string) as Integer
LastRow= Worksheets(sheetName).UsedRange.Rows.Count
End Function
プロパティ | 設定値 |
---|---|
エントリメソッドのパラメーター | 最終行を取得するシート名を指定します。 コレクション(IEnumerable)で指定する必要があるため 変数を用意するか、 {"シート名"}のような形になります。 |
エントリメソッド名 | "LastRow"を指定します。 |
コードファイルのパス | ダウンロードして解凍した LastRow.basを指定します。 |
出力値 | Object型変数を指定します。 (今回の例では「結果受取」) ここに最終行が格納されます。 |

最後にObject型の「結果受取」変数を
Int32型に変換(キャスト)し
「最終行」変数に格納します。
それには代入を使用し、下のように設定します。
左辺値(To)にはInt32型の変数を指定します。
右辺値(Value)にはこのように指定します。
CType(結果受取,Integer)

今回の下のシートに対して使用します。

B列の11行目が最終行のため
11が結果として取得されます。
(何もない9行目で止まることはありません)
