2015-09-17 3 views
0

У меня есть значение в моем листе, где я хочу передать значение другому листу с помощью Google App Script, у меня есть простой код, который может получить значение, но я не знаю, как я может передать его другому листу и создать новую строку на другом листе.Передача значения другому листу

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}); 

Stéphane

+0

Привет, Стефан, я пытаюсь запустить код, но он дает мне ошибку. Q: TypeError: Не удается вызвать метод «getRange» из null.? и почему только A2 в range.copyTo (ToSheet.getRange («A2»)? Если я также копирую до B2? просто спрашиваю здесь noob :) – Max

+0

код должен быть запущен в электронной таблице, содержащей имена листов s1 и s2. A2: B2 означает, что мы выбираем обе ячейки напрямую, а не один за другим. – St3ph

+0

Ya, я также вижу это сообщение https://stackoverflow.com/questions/4211504/typeerror-cannot-call-method-getrange-of-null-line-0 Btw еще раз спасибо 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); 
} 
Смежные вопросы