Добавить запись на другую вкладку - PullRequest
0 голосов
/ 26 января 2019

Я ОЧЕНЬ новичок в этом. Я только что посмотрел одно прохождение на YouTube, пытаясь создать «черновую комнату» для моей лиги фэнтези-футбола.

Здесь - это мой лист.

Когда я нажимаю "Finished", я хочу, чтобы информация из F1, F2 и F3 шла к первой открытой строке в столбцах J:L. Прямо сейчас, я иду к последнему открытому ряду, так что он отправляет все вниз до самого дна.

Я смотрел прохождение, поэтому понятия не имею, что означают первые 11 строк кода.

function setValue(cellname, value) {
  SpreadsheetApp.getActiveSpreadsheet().getRange(cellname).setValue(value);
}

function getValue(cellname) {
  return SpreadsheetApp.getActiveSpreadsheet().getRange(cellname).getValue();
}

function getNextRow(){
  return SpreadsheetApp.getActiveSpreadsheet().getLastRow() + 1;
}

function setTeam1(){
  addRecord(getValue('b2'), new Date(), '1');
}
function addRecord(a, b, c) {
  var row = getNextRow();
  setValue('a'+ row, a);
  setValue('b'+ row, b);
  setValue('c'+ row, c);
}

function finished() {
  addRecord1(getValue('f1'), getValue('f2'), getValue('f3'));
}

function addRecord1(j, k, l) {
  var row = getNextRow();
  setValue('j'+ row, j);
  setValue('k'+ row, k);
  setValue('l'+ row, l);
}

Я знаю, что мне нужно изменить 'getNextRow', но я не могу понять, как заставить это работать.

Кто-нибудь сможет помочь мне понять код и как я могу заставить его работать?

1 Ответ

0 голосов
/ 26 января 2019

Как отмечено в комментариях, проблема ОП вызвана использованием функции getNextRow, которая вызывает getLastRow()

Решение довольно простое. Получите последнюю строку, содержащую содержимое в столбце J, и передайте это (плюс один) функции addRecord в качестве номера строки. Код может выглядеть примерно так:

function sofinished() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getActiveSheet()
    var jVals = sheet.getRange("J1:J").getValues();
    var jLastRow = jVals.filter(String).length;   
    soaddRecord1(getValue('f1'), getValue('f2'), getValue('f3'),jLastRow+1);
}

function soaddRecord1(j, k, l, r) {
  setValue('j'+ r, j);
  setValue('k'+ r, k);
  setValue('l'+ r, l);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...