#google-apps-script #spreadsheet
#google-apps-script #электронная таблица
Вопрос:
Я новичок, и мне нужна помощь со скриптом электронной таблицы Google.
Когда я нажимаю на флажок на ГЛАВНОЙ вкладке, я хочу скопировать строку (столбцы A, B и C) и вставить ее на вкладку «ЗАВЕРШЕНО», а после этого удалить данные из строки, которую я нажал на ГЛАВНОЙ вкладке (только в столбцах B и C), и отменить выборустановите флажок на ГЛАВНОЙ вкладке.
Кто-нибудь может мне помочь?
Вот ссылка на мою общую электронную таблицу
Здесь скрипт:
function onEdit(event) {
// assumes source data in sheet named main
// target sheet of move to named Completed
// getColumn with check-boxes is currently set to column 4 or D
var ss = SpreadsheetApp.getActiveSpreadsheet();
var s = ss.getActiveSheet();
var r = s.getActiveRange();
if(s.getName() == "main" amp;amp; r.getColumn() == 4 amp;amp; r.getValue() == true) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("Completed");
var target = targetSheet.getRange(targetSheet.getLastRow() 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
} else if(s.getName() == "Completed" amp;amp; r.getColumn() == 4 amp;amp; r.getValue() == false) {
var row = r.getRow();
var numColumns = s.getLastColumn();
var targetSheet = ss.getSheetByName("main");
var target = targetSheet.getRange(targetSheet.getLastRow() 1, 1);
s.getRange(row, 1, 1, numColumns).moveTo(target);
s.deleteRow(row);
}
}
Комментарии:
1. Когда я увидел вашу общую электронную таблицу, на листе «Завершено» есть столбец «D». Но в вашем вопросе вы говорите, что хотите скопировать только столбцы A, B и C из «main» в «Completed», и я не могу понять столбец «D» в «Completed». И примерно
delete the data from the line I clicked on the MAIN tab (only in column B and C) and deselect the check box on the MAIN tab.
, в этом случае столбцы «B» и «C» пусты. При этом условии, когда флажок установлен, вы хотите скопировать строку, содержащую пустые значения? В то время, откуда берется флажок на листе «Завершено»?2. И, когда я увидел ваш «Заполненный» лист, я нашел
Un-check a box to move it back to “main” sheet and delete it from this sheet.
. Вы хотите добавить строку и удалить всю строку? К сожалению, я не могу понять, что вы хотите сделать. Я прошу прощения за мои плохие знания английского языка. Могу я спросить вас о деталях вашей текущей проблемы и вашей цели?3. @Tanaike: на основном листе содержится 3 набора для просмотра. Когда пользователь устанавливает флажок в столбце D, удалите строку с основного листа и добавьте строку на заполненный лист, оставив флажок установленным. Если пользователь снимает флажок в столбце D заполненного листа, удалите строку с заполненного листа и добавьте строку на основной лист, оставив флажок не отмеченным.
4. Спасибо за вашу поддержку. В случае ситуации с вашим комментарием я думаю, что сценарий OP уже достиг этого. Итак, когда я смог найти проблему OP, я хотел бы подумать о решении.