Google 表格 - 如何在启用 A 列上的复选框并将该数据发送到另一个 sheet 后复制 11 列数据?
Google Sheets - How can I copy 11 columns of data after enabling a checkbox on column A and sending that data to another sheet?
您好,感谢您提前提供的帮助。
我在 sheet 上有数据,标题为“AutoFlip”,在 B3:K53 范围内。在为给定行激活 A 列中的复选框(以便我可以在 Google 工作表的 iOS 版本上进行操作)后,我想复制该行的单元格 B:K 的值并将它们粘贴到另一个 sheet 标题为“ActiveFlips”的单元格 A2 中,然后每个启用的复选框都会将该行数据粘贴到 sheet“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);
}
}
来源:我一直在使用以下问题作为来源,但不太正确。
copy and paste to next available row in a certain column google sheets
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");
}
}
注意:如果不提供适当的事件对象,您无法从脚本编辑器中运行此函数。
您好,感谢您提前提供的帮助。
我在 sheet 上有数据,标题为“AutoFlip”,在 B3:K53 范围内。在为给定行激活 A 列中的复选框(以便我可以在 Google 工作表的 iOS 版本上进行操作)后,我想复制该行的单元格 B:K 的值并将它们粘贴到另一个 sheet 标题为“ActiveFlips”的单元格 A2 中,然后每个启用的复选框都会将该行数据粘贴到 sheet“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);
}
}
来源:我一直在使用以下问题作为来源,但不太正确。
copy and paste to next available row in a certain column google sheets
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");
}
}
注意:如果不提供适当的事件对象,您无法从脚本编辑器中运行此函数。