Google Apps Script Google Workspace (G Suite) Javascript プログラミング

Google Spread Sheetを開いたとき、最後のセルに自動的に移動する

シート開いたらすぐに入力したい

私はGoogle Spread Sheetに、ほぼ毎日体重を記録しています。

最初のうちは何の問題もなかったのですが、数ヶ月たってデータが増えてくると、入力の度にいちいち最終セルまでスクロール、クリックするのが面倒になってきました。

Google Spread Sheetは、シートを開いたときは必ず最初のセル(A1)が選択されてしまうようです。

何かスクリプトかマクロで出来ないかと思ってしらべたらStackOverflowに同様の質問ありました。

How to open a Google Sheets file and go immediately to the end of the file

いつくかあったコードの中で自分が使っているのは以下のものです。

 

 

onOpen(), getLastRow(), setActiveRange()でイケる

function onOpen(e) {
  var spreadsheet = e.source;
  var sheet = spreadsheet.getActiveSheet();
  var lastRow = spreadsheet.getLastRow();
  lastRow++;
  var range = sheet.getRange("A" + lastRow + ":A" + lastRow);
  sheet.setActiveRange(range);
}

スプレッドシートの[ツール][スクリプトエディタ]でスクリプトエディタを開いて、そこに上記のコードを貼り付けます。

保存すれば、次回からはシートを開いたときに自動的に最終セルに移動して、すぐに入力が始められます。

ただし、スクリプトが起動するまでが遅い!

数秒間待ってようやくシートがスクロールします。

手でスクロールするのと時間的には変わらないような気がしますが、まぁ待ってればいいので楽にはなりました。

 

-Google Apps Script, Google Workspace (G Suite), Javascript, プログラミング