想要完成下面提到的任務,擁有 2 張作業表(作業表 1 和作業表 2)單擊作業表 1:J1 上的復選框時,作業表 1 上的表格中的資料應粘貼在作業表 2 的單行中,例如產品 1 資料(P1) 到產品 1 列,產品 2 資料 (P2) 到產品 2 列等等......對于每個新提交,新資料將記錄在 Sheet2 的下一行。SS 鏈接:https ://docs.google.com/spreadsheets/d/1tmnDOMyupjeO8d65qHQsxb5KrrKeq7pMYIE8h2VmEJ4/edit?usp=sharing
提前致謝
uj5u.com熱心網友回復:
我相信你的目標如下。
- 當檢查“ Sheet1”的“ H1”的復選框時,您想將“ A3:G6”單元格的值復制到“ Sheet2”的一行中的列“ B”列。
- 并且,您要將“Sheet1”的“B1”和“B10”復制到“Sheet2”的“A”和“AD”列。
- 在您的電子表格中,沒有合并的單元格。
在這種情況下,下面的示例腳本怎么樣?
示例腳本:
function onEdit(e) {
const range = e.range;
const sheet = range.getSheet();
if (sheet.getSheetName() != "Sheet1" || range.getA1Notation() != "H1" || !range.isChecked()) return;
const srcRange = sheet.getRange("A3:G6");
const [[b1], , , , , , , , , [b10]] = sheet.getRange("B1:B10").getValues();
const values = [b1, ...srcRange.getValues().flat(), b10];
const dstSheet = e.source.getSheetByName("Sheet2");
dstSheet.appendRow(values);
range.uncheck();
// srcRange.clearContent();
}
- 該腳本使用 OnEdit 觸發器的簡單觸發器自動運行。因此,當您使用此腳本時,請選中“Sheet1”的“H1”復選框。這樣,腳本就運行了。當您直接運行腳本時,會出現類似的錯誤
Cannot read property 'range' of undefined。請注意這一點。 - 如果要在復制值后清除源范圍,請使用
srcRange.clearContent();.
筆記:
- 此示例腳本適用于您的示例電子表格。因此,當您更改電子表格時,此腳本可能無法使用。請注意這一點。
參考:
- 簡單觸發器
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/486583.html
