Come aprire un file di Fogli Google e andare immediatamente alla fine del file


14

Ho un foglio di calcolo di Google con 100 righe.

Ogni volta che apro quel file, voglio inserire una riga alla fine della mia tabella.

Come posso saltare all'ultima riga della tabella quando apro il documento?

Perché in questo momento devo scorrere verso il basso per poter inserire una nuova riga.


1
Una combinazione di tasti sarebbe sufficiente? Ctrl + Fine dovrebbe passare alla fine del file.
Ale

1
@AlE .: Ctrl + End si sposta anche sull'ultima colonna? Non ho una finestra di Windows con cui testare, ma su Mac il collegamento corrispondente (⌘ + Fn + ➔) si sposta sull'ultima riga, sull'ultima colonna.
Vidar S. Ramdal,

@Vidar: Sì, probabilmente. (Non ho la possibilità di testarlo al momento.) Abbastanza facilmente rettificato quindi premendo la Homechiave.
Ale

Risposte:


11

Puoi creare un trigger che viene eseguito ogni volta che viene aperto il foglio di calcolo.

Vai su Strumenti → Editor di script e incolla quanto segue:

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

Fai clic sul pulsante Salva , quindi chiudi l'editor di script e il foglio di calcolo.

Ora apri di nuovo il foglio di calcolo. Dagli un paio di secondi e dovresti vedere che una nuova riga è inserita alla fine del foglio e che quella riga è selezionata.

Ho creato questo foglio di calcolo per dimostrarlo: sentiti libero di copiarlo (fai clic su File → Copia ). Sarà necessario eseguire la propria copia per visualizzare correttamente lo script.

Lo script ha spiegato:

Il onOpennome della funzione ha un significato speciale. Vedere la documentazione . Prende un singolo argomento, un Eventoggetto . La sua sourceproprietà è un riferimento all'apertura del foglio di calcolo. Con il foglio di calcolo, possiamo fare getLastRow()per trovare l'indice dell'ultima riga con contenuto . getMaxRows()ci dà il numero massimo di righe nel foglio, anche quelle vuote. Con questa conoscenza, possiamo vedere se l'ultima riga ha contenuto - in tal caso, aggiungeremo una nuova riga vuota. Finalmente, possiamo creare un intervallo e chiamarlo setActiveRange, per passare all'ultima riga.


Se vuoi solo passare all'ultima riga, senza inserire nulla, lo script può essere semplificato in questo modo:

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

Grazie mille per il vostro aiuto! Ci proverò più tardi. Grazie per il vostro tempo e aiuto
UcanDoIt

1
questo non andare per l'ultima riga con il testo, come voglio. :( vale per l'ultima riga che ha formule.
UcanDoIt

1
mi potete aiutare così va per l'ultima riga con il testo?
UcanDoIt,

1
ok, sono al lavoro e non ho accesso a Google qui, ma lo farò più tardi .. Ora proverò con le parole ... Nel mio foglio di calcolo ho formule, in colonne, fino alla riga 1000. E ho inserito dati fino alla riga 200 (solo). Quindi con la tua soluzione quando apro il documento va alla riga 1000 e volevo che passasse alla riga 200 in modo da poter semplicemente inserire nuovi dati nella prossima riga disponibile.
UcanDoIt,

1
@Hamideh Non si verifica alcun evento quando si passa da un foglio all'altro dello stesso documento, come sono a conoscenza. Quindi questo approccio non funzionerebbe in quel caso.
Vidar S. Ramdal,

3

Se hai l'ulteriore problema che alcune colonne sono popolate con formule fino in fondo e vuoi scorrere fino alla prima riga con dati non formula, ecco un approccio. In questo caso la colonna A ha le formule fino in fondo, quindi scorro fino alla prima cella vuota nella colonna B nella riga 5 o in basso.

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

Come indica l'altra risposta, è necessario aprire Strumenti → Editor di script , incollare quella funzione, denominare il "progetto", salvare e ricaricare il foglio di calcolo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.