2015-09-17 132 views
0

我在工作表中使用Google App脚本将值传递给其他工作表,我有一个简单的代码可以获取值,但我不知道如何可以将它传递给其他工作表并在其他工作表中创建一个新行。将值传递给其他工作表

function doit() { 

    var ss = SpreadsheetApp.getActiveSpreadsheet() 
    var FromSheet = ss.getSheetByName('s1'); 
    var ToSheet = ss.getSheetByName('s2'); 

    var firstname = fromsheet.getRange('A2'); 
    var lastname = fromsheet.getRange('B2'); 
    var data = firstname.getValue(); 
    var data1 = lastname.getValue(); 
    //To sheet code??? 

} 

回答

0

你可以简化一点代码,它和我几乎相同的代码来粘贴值。

function doit() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet() 
    var FromSheet = ss.getSheetByName('s1'); 
    var ToSheet = ss.getSheetByName('s2'); 

    var firstname = fromsheet.getRange('A2').getValue(); 
    var lastname = fromsheet.getRange('B2').getValue(); 
    //Copy to others sheet 
    ToSheet.getRange('A2').setValue(firstname); 
    ToSheet.getRange('A2').setValue(firstname); 
} 

您也可以将数据与copyValuesToRange() 请参见复制:从现场https://developers.google.com/apps-script/reference/spreadsheet/range#copyvaluestorangegridid-column-columnend-row-rowend 代码示例:

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var FromSheet = ss.getSheetByName('s1'); 
var ToSheet = ss.getSheetByName('s2'); 
var range = FromSheet.getRange("A2:B2"); 
range.copyTo(ToSheet.getRange("A2"), {contentsOnly:true}); 

斯特凡

+0

嗨斯蒂芬,我尝试运行的代码,但它给我一个错误问:类型错误:无法调用“getRange”空的?为什么只有A2在range.copyTo(ToSheet.getRange(“A2”)?如果我也复制到B2?只是在这里请求noob :) – Max

+0

代码必须在包含工作表名称s1和s2的电子表格中运行。 A2:B2意味着我们直接选择两个单元而不是一个一个。 – St3ph

+0

雅,我也看到这篇文章https://stackoverflow.com/questions/4211504/typeerror-cannot-call-method-getrange-of-null-line-0顺便再次感谢steph :) – Max

0

你的代码中有几个错误:

function doit() { 

var ss = SpreadsheetApp.getActiveSpreadsheet() // missing ; 
var FromSheet = ss.getSheetByName('s1'); 
var ToSheet = ss.getSheetByName('s2'); 

var firstname = fromsheet.getRange('A2'); // fromsheet must be FromSheet (Caps Matter) 
var lastname = fromsheet.getRange('B2'); // same here 
var data = firstname.getValue(); 
var data1 = lastname.getValue(); 
//To sheet code??? 

} 

这里是我会做什么:

function doit() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var FromSheet = ss.getSheetByName('s1'); 
var ToSheet = ss.getSheetByName('s2'); 
var firstname = FromSheet.getRange('A2').getValue(); // simplify lines 
var lastname = FromSheet.getRange('B2').getValue(); // simplify lines 

ToSheet.getRange("CELL TO PUT FIRSTNAME").setValue(firstname); 
ToSheet.getRange("CELL TO PUT LASTNAME").setValue(lastname); 
}