タイトルどおり、
Google Apps Script の Range クラスの getLastRow() メソッドは何をしてくれるのか?
ということで、プログラムセンスのない俺がサンプルを作って、知識を深めました。
APIリストには次のように記載がありました。
| Method | Return type | Brief description |
| getLastRow() | Integer | Returns the end row position. |
読んで字のごとく最終行を返してくれるわけですが…
| A | |
| 1 | あ |
| 2 | い |
| 3 | う |
| 4 | え |
スクリプトエディタに以下のように書いて、いざ実行です。
─────────────────────
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var Lastrow_num = ss.getLastRow();
Logger.log(Lastrow_num);
}
─────────────────────
─────────────────────
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var Lastrow_num = ss.getLastRow();
Logger.log(Lastrow_num);
}
─────────────────────
これなら4が返ってきます。
当たり前ですね。
では、アクティブセルがA1にあった場合に、先程と同じスクリプトを実行してみましょう。
| A | B | |
| 1 | あ | い |
| 2 | い | う |
| 3 | う | え |
| 4 | え | お |
| 5 | か | |
| 6 |
なんの数値が返ってくるでしょうか?
答えは、5 です。
Rengeを決めず、getLastRow()を実行すると、アクティブセルの場所に構わず、
最後まで入力がある行数を返してくれます。