Как я могу скопировать значения слева от активной ячейки? - PullRequest
0 голосов
/ 01 ноября 2018

Я работаю над сценарием, который вводит дату в активную ячейку. Я использую сценарий только в столбце B. Теперь я хочу скопировать значение из D2 (где D2 - число) в ячейку слева от активной ячейки. И тогда значение D2 + 1.

  function TimeStamp(){

  var ss=SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  var Time=new Date();

  var timeStampFormat="dd.mm.yy";

  ss.getActiveCell().setValue(Time).setNumberFormat(timeStempelFormat);

}

Теперь мой вопрос: как я могу скопировать значение D2 одной ячейки слева в мою активную ячейку (timeStamp), а затем значение D2 + 1.

1 Ответ

0 голосов
/ 21 декабря 2018
function timestampandoffset() {
    var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
    var Time = new Date();
    var timeStampFormat = "dd.mm.yy";
    ss.getActiveCell().setValue(Time).setNumberFormat(timeStampFormat);
    ss.getActiveCell().offset(0, -1).setValue((ss.getActiveCell().offset(0, 2).getValue()) + 1);
}

Вы можете достичь своей цели с помощью только одной дополнительной строки кода.

ss.getActiveCell (). Смещение (0, -1) .setValue ((ss.getActiveCell (). Offset (0, 2) .getValue ()) + 1);

Ключ использует ваше начальное местоположение (в вашем случае это ActiveCell). Все ссылки на смещения относятся к этому - сколько строк выше или ниже и / или сколько столбцов слева или справа.

Код состоит из трех компонентов:
1) ss.getActiveCell().offset(0, 2).getValue()
Это значение из столбца D. Смещение (задокументировано как смещение (rowOffset, columnOffset) ) равно «0,2», то есть: та же строка, что и ActiveCell, но 2 столбца справа (= столбец D).

2) (ss.getActiveCell().offset(0, 2).getValue()) + 1
Он принимает значение в ячейке / диапазоне смещения (столбец D) и добавляет единицу.

3) ss.getActiveCell().offset(0, -1).setValue
Наконец, это целевая ячейка. Смещение равно «0, -1»: то есть та же строка, что и ActiveCell, но один столбец слева (= столбец A).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...