【问题标题】:How to copy multiple rows (value Only) within the same sheet by Google App Script for Google Sheet如何通过 Google App Script for Google Sheet 在同一工作表中复制多行(仅限值)
【发布时间】:2017-10-03 06:27:06
【问题描述】:

我喜欢通过脚本在同一个谷歌工作表中复制多行值,但我无法让它工作。

我的脚本:

function Copymultiplerows() { 
    var ss = SpreadsheetApp.openByUrl("Spreadsheeturl");
    Logger.log(ss.getName());
    var mysheet = ss.getSheetByName('Sheet1');
    var source = ss.getRange ('72:350');
    var tss =SpreadsheetApp.openByUrl("Spreadsheeturl");                            
    var ts = tss.getSheetByName('Sheet1');
    ts.getRange('73:351'); 
}

【问题讨论】:

    标签: arrays google-apps-script google-sheets range rows


    【解决方案1】:

    您还需要获取和设置值

    ts.getRange("73:351").setValues(source.getValues());
    

    【讨论】:

    • 谢谢罗宾,我添加了获取和设置值代码,但是当我运行脚本时,它返回一条错误消息,它说“不正确的范围宽度,是 106 但应该是 128(第 8 行, file "Code")Dismiss" ,我该怎么办?干杯
    • 您的一张工作表的列比另一张多(可能为空)。你可能想使用source = ss.getDataRange().getValues() 然后ts.getRange(1,1, source.length, source[0].length).setValues(source)
    • 嗨罗宾,感谢您的建议,也许我的问题(代码)令人困惑。我想在同一张纸上复制行,所以列总数应该相同。为了澄清,我每天更新第 72 行的数据值,并希望通过将更新的第 72 行数据复制到第 73 行并随之将原始数据从第 73 行移动到350 下降到 74 到 351 (时间触发器可以完成这项工作),我想另一种方法是复制第 72 行并将复制的行插入到它下面(到第 73 行),如果您能提供代码帮助,我将不胜感激它。干杯。
    • 这不是关于数据,而是关于工作表中的内容,如果一个电子表格有 A:Z 列和另一个 A:BD 列,那么您将使用 73:351 选择的范围是不同的
    • 谢谢罗宾,我添加了上面的代码,但它没有工作,将尝试继续寻找解决方法,一旦我找到它们就会在这里发布,干杯!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多