【问题标题】:Script that copies the contents of one cell and pastes it to another?复制一个单元格内容并将其粘贴到另一个单元格的脚本?
【发布时间】:2018-06-05 12:05:38
【问题描述】:

我正在寻找一个脚本,它可以复制和粘贴一个单元格的内容并将其粘贴到另一个单元格中,然后清除原始单元格的内容。两个单元格将位于同一个电子表格上。比如我想把B30单元格的内容,复制到C10单元格,然后清除B30单元格的内容。单元格的内容将是文本和数字字符串。

另外,如果有另一个函数可以帮助打印在初始脚本运行后粘贴了这些单元格的电子表格的某个部分,那也将非常有帮助。

我假设要复制和粘贴的初始代码类似于:

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet1 = ss.getSheetByName('MySheet');
    var cell1 = sheet1.getRange('B30').getValue();
    ss.getSheetByName('MySheet').getRange('C10').setValue(cell1);

提前感谢您的帮助!

【问题讨论】:

  • 您使用的是哪个应用程序? google-spreadsheet?然后考虑将这些标签添加到您的问题中:google-spreadsheetgoogle-apps-script 以使您的问题在这些类别中可见。
  • 是的,我正在使用 Google 电子表格。感谢您的建议;我已经添加了你提到的标签。
  • 您的代码有什么问题?简单的把它放在一个带参数的函数中?
  • 每当原始单元格的内容被复制并粘贴到新单元格中时,它都会为多个不同的行返回“function getValue() {/**/}”。
  • 有人有什么建议可以解决这个问题吗?我要复制的一些单元格有数字,一些有文本,还有一些可能是空白的。

标签: javascript google-apps-script google-sheets spreadsheet


【解决方案1】:

您的代码非常正确,但我认为它会造成一些混乱。 我在下面重新排列了您的代码并添加了“清除”部分。

var spreadsheet = SpreadsheetApp.getActive()
var ss = spreadsheet.getSheetByName('MySheet')

ss.getRange("C10").setValue(ss.getValue("B30"))
ss.getRange("C10").clear()

【讨论】: