[英]Google Sheets - How can I copy 11 columns of data after enabling a checkbox on column A and sending that data to another sheet?
我在 B3:K53 范圍內的名為“AutoFlip”的工作表上有數據。 在為給定行激活 A 列中的復選框(以便我可以在 iOS 版本的 Google 表格上操作)后,我想復制該行的單元格 B:K 的值並將它們粘貼到另一個標題為“ActiveFlips”的工作表中從單元格 A2 開始,然后每個附加啟用的復選框都會將該行數據粘貼到工作表“ActiveFlips”的下一個空行(在本例中為單元格 A3)。
這是我現在擁有的:
function onEdit(e) {
//IF the cell that was edited was in column 1 and therefore a checkbox AND if the cell edited was checked (not unchecked):
if (e.range.columnStart === 1 && e.range.getValue() === true) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var srcsheet = ss.getSheetByName("AutoFlip");
var dstsheet = ss.getSheetByName("ActiveFlips");
var row = sheet.getActiveCell().getRow();
var rangeToCopy = sheet.getRange(row,1,1,11);
var dstrow = dstsheet.getRange(dstSheet.getLastRow()+1,1);
dstsheet.insertRowAfter(dstrow);
rangeToCopy.copyTo(dstsheet.getRange(dstrow + 1, 1));
//Reset checked boxes
srcsheet.getRange(row,1,2,1).setValue(false);
}
}
資料來源:我一直使用以下問題作為資料來源,但不能完全正確。
function onEdit(e) {
//e.source.toast('entry');
const sh = e.range.getSheet();
if (sh.getName()== "AutoFlip" && e.range.columnStart == 1 && e.value == "TRUE") {
//e.source.toast('cond');
const tsh = e.source.getSheetByName('ActiveFlips');
sh.getRange(e.range.rowStart,2,1,10).copyTo(tsh.getRange(tsh.getLastRow()+1,2));
e.range.setValue("FALSE");
}
}
注意:如果不向其提供適當的事件 object,則無法從腳本編輯器運行此 function。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.