【发布时间】:2019-02-06 02:08:25
【问题描述】:
我正在尝试编写一个脚本来根据第 11 列 (K) 上是否有“Y”来复制特定行的 B:K 列。
我有脚本可以在同一个电子表格中从一张工作表移动到另一张工作正常,但我真的很努力将一个电子表格转移到另一个电子表格,并且只移动部分行而不是整个事情。
以下是目前为止的脚本...希望得到帮助!
function onEdit() {
var sss = SpreadsheetApp.openById("15RWoaW8tRLVGOTDrZvBLJwx0beWEsV3x8pfwGe2zMfc").getSheetByName("2018 2 Week Snapshot for Jim"); // sss = source spreadsheet
var r = sss.getActiveRange();
if(sss.getName() == "2018 2 Week Snapshot for Jim" && r.getColumn() == 11 && r.getValue() == "Y") {
var row = r.getRow();
var numColumns = sss.getLastColumn();
var tss = SpreadsheetApp.openById("1dSJOOw_oLVc6Nf-C0MY9715tZGuh69kR6-j_m8EJ-So"); // tss = target spreadsheet
var targetSheet = tss.getSheetByName("Test Sheet"); // ts = target sheet
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
tss.getRange(row, 1, 1, numColumns).copyTo(target);
}
}
这是我的新代码,还在苦苦挣扎:
function onEdit() {
var sss = SpreadsheetApp.openById('15RWoaW8tRLVGOTDrZvBLJwx0beWEsV3x8pfwGe2zMfc'); // sss = source spreadsheet
var ss = sss.getSheetByName('2018 2 Week Snapshot for Jim'); // ss = source sheet
var SRange = ss.getRange("C:K");
if(ss.getName() == "2018 2 Week Snapshot for Jim" && SRange.getColumn() == 9 && SRange.getValue() == "y") {
var row = SRange.getRow();
var numColumns = ss.getLastColumn();
var tss = SpreadsheetApp.openById('1dSJOOw_oLVc6Nf-C0MY9715tZGuh69kR6-j_m8EJ-So'); // tss = target spreadsheet
var ts = tss.getSheetByName('Test Sheet'); // ts = target sheet
var target = ts.getRange(ts.getLastRow() + 1, 1);
ss.getRange(row, 1, 1, numColumns).SetValues(target);
}
}
【问题讨论】:
-
当源电子表格和目标电子表格不同时,
copyTo()不能使用。为了复制到其他电子表格,有几种解决方法。那我能问一下你的情况吗?您只想将值复制到其他电子表格?或者您想将值和公式复制到其他电子表格?在这些情况下,this 可能有用。 -
或者您想将值、公式和格式转至其他电子表格?在这些情况下,this 可能有用。
-
@Tanaike 数据正在从日历发送到第一个电子表格。一组人将与多人一起审查数据。然后,在他们在 K 列中执行特定操作(放置“Y”)后,与不同组相关的数据将发送到他们的电子表格。
-
@Tanaike - 回答您的问题;我没有试图保留任何公式或格式。我只想将单元格中的值从电子表格 1 复制到电子表格 2。
-
感谢您的回复。我认为在仅将值复制到其他电子表格的情况下,this information 对您很有用。这也是关于将值从电子表格 A 复制到电子表格 B 的方法。但如果这对您的情况没有用处,我很抱歉。
标签: google-apps-script google-sheets google-api google-sheets-api