Google apps script 获取当前单元格并将其复制到其他工作表google工作表
我想通过单击自定义按钮将3个值从sheet1复制到sheet2 我在第1张纸上有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
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')) ;
}