Googleスプレッドシートファイルを開いてすぐにファイルの最後に移動する方法


14

100行のGoogleスプレッドシートがあります。

そのファイルを開くたびに、テーブルの最後に行を挿入します。

ドキュメントを開いたときに表の最後の行にジャンプするにはどうすればよいですか?

今は、新しい行を挿入できるようにスクロールダウンする必要があるからです。


1
キーの組み合わせで十分でしょうか?Ctrl + Endでファイルの最後にジャンプします。
エール2016年

1
@AlE .: Ctrl + Endも最後の列に移動しますか?テストするWindowsボックスはありませんが、Macでは、対応するショートカット(⌘+ Fn +➔)が最後の行、最後の列に移動します。
Vidar S. Ramdal 2016年

@Vidar:ええ、たぶん。(現在、テストする機能はありません。)Homeキーを押すことで、かなり簡単に修正できます。
エール2016年

回答:


11

スプレッドシートを開くたびに実行されるトリガーを作成できます。

ツール→スクリプトエディターに移動し、以下を貼り付けます。

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

[ 保存 ]ボタンをクリックし、スクリプトエディタとスプレッドシートを閉じます

次に、もう一度スプレッドシートを開きます。数秒待つと、シートの最後に新しい行が挿入され、その行が選択されていることがわかります。

デモ用にこのスプレッドシートを作成しました。自由にコピーしてください([ ファイル ] [ コピー ]をクリック)。スクリプトが正常に実行されることを確認するには、独自のコピーを実行する必要があります。

スクリプトは説明しました:

onOpen関数名は、特別な意味を持っています。ドキュメントを参照してください。これは、Eventオブジェクトという単一の引数を取ります。そのsourceプロパティは、開かれているスプレッドシートへの参照です。スプレッドシートを使用するgetLastRow()と、コンテンツを含む最後の行のインデックスを見つけることができます。getMaxRows()空の行も含めて、シートの最大行数を取得します。その知識があれば、最後の行にコンテンツがあるかどうかを確認できます。コンテンツがある場合は、新しい空の行を追加します。最後に、範囲を作成して呼び出しsetActiveRange、最後の行に移動できます。


何も挿入せずに最後の行に移動するだけの場合は、スクリプトを次のように簡略化できます。

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

あなたの助けに感謝します!これは後で試します。あなたの時間と助けてくれてありがとう
UcanDoIt

1
これは私が望むように、テキストの最後の行に行くべきではありません。:(それは数式を持っている最後の行のために行く。
UcanDoIt

1
テキストの最後の行に行くように私を助けてくれませんか?
UcanDoIt

1
わかりました。私はここにいて、ここでGoogleにアクセスすることはできませんが、後でそれを作成します。今すぐ単語で試してみます...スプレッドシートには、列に1000行までの数式があります。そして、 200行目までのデータ(のみ)。したがって、あなたの解決策では、ドキュメントを開くと1000行になり、200行に移動して次の利用可能な行に新しいデータを挿入できるようにしたかったのです。
UcanDoIt 2016年

1
@Hamideh私が知っているように、同じドキュメントのシートを切り替えるときにトリガーされるイベントはありません。したがって、このアプローチはその場合には機能しません。
Vidar S. Ramdal

3

特定の列に数式がずっと入力されているという追加の問題があり、数式以外のデータがある最初の行までスクロールする場合は、次の方法を使用します。この場合、列Aには数式がずっと下にあるため、行5以下の列Bの最初の空白セルまでスクロールします。

function onOpen(e) {
    var spreadsheet = e.source;
    var sheet = spreadsheet.getActiveSheet();
    var row = 5;
    while (true) {
        var range = sheet.getRange("B" + row);
        if (!range.getValue()) {
            sheet.setActiveRange(range);
            return;
        }
        row++;
    }
}

他の答えが示すように、ツール→スクリプトエディターを開き、その関数を貼り付け、「プロジェクト」に名前を付け、保存して、スプレッドシートを再読み込みする必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.