UiPath Excelのシートの最終行を取得する方法

2020年2月6日

この記事ではUiPathでExcelシートの

最後の行数を取得する方法を紹介します。

手順

繰り返しで判定する手もありますが、

手間が大きいので今回はマクロを併用します。

(マクロは作成済みで掲載しています)

まずExcel アプリケーションスコープを設置し、

最終行を取得したいブックをパスに指定します。

このブックはマクロ有効ブック(xlsm)でなくて構いません。

そしてVBA の呼び出しを中に設置します。

Excel アプリケーションスコープを設置し、その中に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型変数を指定します。
(今回の例では「結果受取」)
ここに最終行が格納されます。
VBAの呼び出しプロパティの設定例

最後にObject型の「結果受取」変数を

Int32型に変換(キャスト)し

「最終行」変数に格納します。

それには代入を使用し、下のように設定します。

左辺値(To)にはInt32型の変数を指定します。

右辺値(Value)にはこのように指定します。

CType(結果受取,Integer)
Int32型に変換するシーケンスと代入のプロパティ

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

サンプルのシート

B列の11行目が最終行のため

11が結果として取得されます。

(何もない9行目で止まることはありません)

最終行の表示結果

関連記事

UiPath Excel関連アクティビティの記事一覧