перенос строки в гугл таблицах
ранее на этой форуме был найден вот такой скрипт (ниже в тексте) , который переносит строку на лист2 из листа1, после того как поставить галочку в столбце "А" листа1. У меня же есть таблица длиной примерно 300-500 строк ( кол-во строк изменяется в зависимости от месяца) и в конце таблицы идет другая таблица которая называется "ОТГРУЖЕННЫЕ ПРОЕКТЫ". Так вот мне нужно в основной таблице в столбце "W" тоже чтобы проставлялись в квадратах галочки в соответствующей строке и чтобы вся строка переносилась в таблицу "ОТГРУЖЕННЫЕ ПРОЕКТЫ" и все это на одном листе.
Код почему то вставить не могу. Прилагаю ссылку Как в Гугл Таблице настроить автоматическое копирование строки по условию на другой лист и удаление после копирования на исходном листе?
Ответы (1 шт):
Не вижу сложностей (использовала код из ссылки и немного доработала):
function onEdit(e) {
Logger.log(e);
Logger.log(e.value);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetS = ss.getSheets()[0];
//var sheetD = ss.getSheets()[1];
var lastColumn = sheetS.getLastColumn();
var lastRow = sheetD.getLastRow();
if (e.value === 'TRUE') {
var range = e.range;
var row = range.getRow();
Logger.log(row);
var val = sheetS.getRange(row, 1, 1, lastColumn).getValues();
sheetS.getRange(212, 1, 1, lastColumn).setValues(val);
sheetS.deleteRow(row);
}
}
212 постоянная строка, с которой начинается ваша нижняя часть. При удалении строки из верхней части, строка 212 снова будет пустой.
var sheetD = ss.getSheets()[1]; вообще убрала, строку sheetD.getRange(lastRow+1, 1, 1, lastColumn).setValues(val); заменила на sheetS.getRange(212, 1, 1, lastColumn).setValues(val);