首页 > 解决方案 > 为什么 setValue() 只粘贴第一个单元格而不是整个范围?

问题描述

我是学习脚本编辑器的新手,当您按下按钮时,我正在尝试一个简单的复制粘贴代码(绘图)

我创建了一个绘图按钮来分配脚本。对于以下单元格从单元格(F3:K3)复制到同一张表中的(F5:K5),不确定我做错了什么,它只是复制我在第一个单元格(F3)中的数字并复制那个粘贴到的所有单元格的编号。很困惑,任何帮助都会很棒!

肖恩

function copypaste() { 
     var sheet = SpreadsheetApp.getActiveSpreadsheet();
     SpreadsheetApp.setActiveSheet(sheet.getSheetByName('Master Template'));
     var range = sheet.getRange('F3:K3');
     var copy = range.getValues();
     sheet.getRange('F5:K5').setValue(copy)
}

标签: google-apps-script

解决方案


正如 ross 所说,您需要改用 setValues 。我们可以在文档中阅读:

设置值(值)

设置范围的值。该值可以是数字、字符串、布尔值或日期。如果它以 '=' 开头,则将其解释为公式。

设置值(值)

设置值的矩形网格(必须匹配此范围的尺寸)。


推荐阅读