Google apps script 获取当前单元格并将其复制到其他工作表google工作表

Google apps script 获取当前单元格并将其复制到其他工作表google工作表,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我想通过单击自定义按钮将3个值从sheet1复制到sheet2 我在第1张纸上有 A B C D F G 1 bbb kkkk 12 2 3 my custom button here 2 hhhh tttt 13 6 8 my custom button here 3 ttt qqqq 16 1 4

我想通过单击自定义按钮将3个值从sheet1复制到sheet2

我在第1张纸上有

  A        B        C      D      F       G
1 bbb      kkkk     12     2      3       my custom button here
2 hhhh     tttt     13     6      8       my custom button here
3 ttt      qqqq     16     1      4       my custom button here
还有我的床单

   A        B          C
1  
我想要的是,当我点击
my custom button
时,我想将值从sheet1中单击的按钮行ex B1 C1复制到A1 B1 C1

我试过这个

function CopyPaste() {
   var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1');            
   var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet2');   
   sheet1.getRange('G2').getValue().copyTo(sheet2.getRange('A45')) ;
   sheet1.getRange('I2').getValue().copyTo(sheet2.getRange('B45')) ;
   sheet1.getRange('K2').getValue().copyTo(sheet2.getRange('C45')) ;
}
但这始终是g2i2k2,而不是单击的行。从这里我没有得到计算值,而是得到了我不想要的公式脚本。我只想从表1中得到计算值。它们是经过计算的。

假设“自定义按钮”的问题是指具有指定脚本的图像,它们没有自动指定的like,并且触发器like On Open等也会发生

一种解决方案是创建一个参数化的主函数和一个由“自定义按钮”触发的每组参数的函数。如果每行都有一个按钮,并且需要将行号作为参数发送,那么每行都需要一个函数

范例

function customButton_row1() {
   CopyPaste(1);
}

function customButton_row2() {
   CopyPaste(2);
}

function CopyPaste(row) {
   var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1');            
   var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet2');   
   sheet1.getRange('G' + row).getValue().copyTo(sheet2.getRange('A45')) ;
   sheet1.getRange('I' + row).getValue().copyTo(sheet2.getRange('B45')) ;
   sheet1.getRange('K' + row).getValue().copyTo(sheet2.getRange('C45')) ;
}
假设通过“自定义按钮”,问题是指带有指定脚本的图像,它们没有自动指定的like发生,触发器like On Open等

一种解决方案是创建一个参数化的主函数和一个由“自定义按钮”触发的每组参数的函数。如果每行都有一个按钮,并且需要将行号作为参数发送,那么每行都需要一个函数

范例

function customButton_row1() {
   CopyPaste(1);
}

function customButton_row2() {
   CopyPaste(2);
}

function CopyPaste(row) {
   var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet1');            
   var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('sheet2');   
   sheet1.getRange('G' + row).getValue().copyTo(sheet2.getRange('A45')) ;
   sheet1.getRange('I' + row).getValue().copyTo(sheet2.getRange('B45')) ;
   sheet1.getRange('K' + row).getValue().copyTo(sheet2.getRange('C45')) ;
}