2017-06-01 24 views
0

Googleシートで複数のタブをマージして1枚のマスターシートを作成しています。Google Appsスクリプトで複数のタブを1つのシートに結合する

function combinesheets() 
{ 
var doc = SpreadsheetApp.getActiveSpreadsheet(); 
var sheets = doc.getSheets(); 
var outSheet = doc.getSheetByName("combinesheets"); 
for (i in sheets){ 
    if (sheets[i].getSheetName() == "sheet1") or (sheets[i].getSheetName() == "sheet2") 
    { 
    var data = getRowsData(sheets[i]); 
    insertData(outSheet, data); 
    } 
} 
} 

上記のスクリプトを使用して、私はReferenceErrorを取得しています。getRowsDataは定義されていません。

答えて

0

私はあなたのために関数を書き直しました。それは私のスプレッドシート上で動作します。それは少し遅いですが、それは仕事を完了します。

function combinesheets() 
{ 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var allsheets = ss.getSheets(); 
var combineSht = ss.getSheetByName("combinesheets"); 
for (var i=0; i<allsheets.length; i++) 
{ 
    if (shtName != 'combinesheets') 
    { 
    var shtName = allsheets[i].getName(); 
    var sht = ss.getSheetByName(shtName); 
    var shtrng = sht.getDataRange(); 
    var shtrngA = shtrng.getValues(); 
    for(var j=0;j<shtrngA.length;j++) 
    { 
     combineSht.appendRow(shtrngA[j]); 
    } 
    } 
} 
SpreadsheetApp.flush(); 
} 
関連する問題