So öffnen Sie eine Google Sheets-Datei und gehen sofort zum Ende der Datei

14

Ich habe eine Google-Tabelle mit 100 Zeilen.

Jedes Mal, wenn ich diese Datei öffne, möchte ich eine Zeile am Ende meiner Tabelle einfügen.

Wie kann ich zur letzten Zeile der Tabelle springen, wenn ich das Dokument öffne?

Denn jetzt muss ich nach unten scrollen, um eine neue Zeile einfügen zu können.

Du kannst es machen
quelle
1
Würde eine Tastenkombination ausreichen? Strg + Ende sollte Sie zum Ende der Datei springen.
Ale
1
@AlE.: Verschiebt sich Strg + Ende auch in die letzte Spalte? Ich habe keine Windows-Box zum Testen, aber auf dem Mac wird die entsprechende Verknüpfung (⌘ + Fn + ➔) in die letzte Zeile, letzte Spalte verschoben.
Vidar S. Ramdal
@ Vidar: Ja, wahrscheinlich. (Ich habe momentan nicht die Möglichkeit, es zu testen.) Ziemlich leicht zu korrigieren, indem ich dann die HomeTaste drücke .
Ale

Antworten:

11

Sie können einen Trigger erstellen, der jedes Mal ausgeführt wird, wenn Ihre Tabelle geöffnet wird.

Gehen Sie zu Extras → Skripteditor und fügen Sie Folgendes ein:

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);
}

Klicken Sie auf die Schaltfläche Speichern , schließen Sie den Skripteditor und die Tabelle.

Öffnen Sie nun Ihre Tabelle erneut. Nehmen Sie sich ein paar Sekunden Zeit, und Sie sollten sehen, dass am Ende Ihres Blattes eine neue Zeile eingefügt und diese Zeile ausgewählt wird.

Ich habe diese Tabelle erstellt, um dies zu demonstrieren. Sie können sie jederzeit kopieren (klicken Sie auf Datei → Kopieren ). Sie müssen Ihre eigene Kopie ausführen, damit das Skript erfolgreich ausgeführt wird.

Das Skript erklärte:

Der onOpenFunktionsname hat eine besondere Bedeutung. Siehe Dokumentation . Es braucht ein einziges Argument, ein EventObjekt . Seine sourceEigenschaft ist ein Verweis auf die geöffnete Tabelle. Mit der Tabelle können wir getLastRow()den Index der letzten Zeile mit Inhalt ermitteln . getMaxRows()gibt uns die maximale Anzahl von Zeilen im Blatt, auch leere. Mit diesem Wissen können wir sehen, ob die letzte Zeile Inhalt hat - wenn ja, fügen wir eine neue, leere Zeile hinzu. Schließlich können wir einen Bereich erstellen und ihn aufrufen setActiveRange, um zur letzten Zeile zu gelangen.


Wenn Sie nur zur letzten Zeile wechseln und nichts einfügen möchten, kann das Skript folgendermaßen vereinfacht werden:

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);
}
Vidar S. Ramdal
quelle
Vielen dank für Deine Hilfe! Ich werde es später versuchen. Vielen Dank für Ihre Zeit und Hilfe
UcanDoIt
1
Dies geht nicht für die letzte Zeile mit Text, wie ich will. :( es geht für die letzte Zeile, die Formeln hat.
UcanDoIt
1
Kannst du mir helfen, damit es für die letzte Zeile mit Text geht?
UcanDoIt
1
ok, ich bin auf der Arbeit und habe hier keinen Zugriff auf Google, werde das aber später machen. Ich werde es jetzt mit Worten versuchen ... In meiner Tabelle habe ich Formeln in Spalten bis Zeile 1000. Und ich habe eingefügt Daten bis Zeile 200 (nur). Wenn ich also mit Ihrer Lösung das Dokument öffne, geht es in die Zeile 1000, und ich wollte, dass es in die Zeile 200 geht, damit ich einfach neue Daten in die nächste verfügbare Zeile einfügen kann.
UcanDoIt
1
@ Hamideh Wie ich weiß, wird beim Wechseln zwischen Blättern im selben Dokument kein Ereignis ausgelöst. Dieser Ansatz würde in diesem Fall also nicht funktionieren.
Vidar S. Ramdal
3

Wenn Sie das zusätzliche Problem haben, dass bestimmte Spalten ganz unten mit Formeln gefüllt sind und Sie zur ersten Zeile mit Nichtformeldaten scrollen möchten, finden Sie hier einen Ansatz. In diesem Fall enthält Spalte A Formeln ganz unten, sodass ich zur ersten leeren Zelle in Spalte B in Zeile 5 oder darunter scrolle.

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++;
    }
}

Wie aus der anderen Antwort hervorgeht, sollten Sie Extras → Skripteditor öffnen , diese Funktion einfügen, Ihr "Projekt" benennen, die Tabelle speichern und neu laden.

RTS - lesen Sie über Monica Cellio
quelle