2017-11-08 11 views
0

すべて。条件付きコピー時に行の宛先を設定します(Googleシート)

私はスクリプト作成の初心者ですが、試行錯誤を経て、column Dの条件に基づいてドキュメントを別々のシートに分割するためのスクリプトを作成できました。

分割されるシートはMASTERと呼ばれており、それぞれの条件に関連するタブを作成するためのスクリプトを既に採用しています(数字のみです)。

私ができないことは、新しいシートに貼り付けるデータをrow 8から(row 1ではなく)下に設定することです。これは、新しいシートのそれぞれにスタティックヘッダーを配置したいからです最初の7行。おそらく愚かな質問ですが、私はそれを理解することはできません。

既存のコードは次のとおりです。

var ss=SpreadsheetApp.getActiveSpreadsheet(); 
var master = ss.getSheetByName('MASTER'); 
var colWidth = master.getMaxColumns(); 


function copyRowsOnCondition() { 
    var data = master.getDataRange().getValues(); 
    for(n=7;n<data.length;++n){ 
    if(data[n][3].length<16){ 
    Logger.log(data[n][3]) 
    var dest = ss.getSheetByName(data[n][3].toString().replace(/ /g,'')); 
    var destRange = dest.getRange(dest.getLastRow()+1,1); 
    master.getRange(n+1,1,1,colWidth).copyTo(destRange); 
    } 
    }// loop 
} 

すべてのヘルプは大規模な感謝します。

おかげ

答えて

0

はあなたのDestRangeは常にデータなしで最後の行になります。たとえば、シートにデータがある場合はB2、関数は3行にコピーします。その周りには複数の方法があります。たとえば、変数に最初の行を入れ、7より小さい場合は7にします。

+0

私はそれをやってみるだけではないと信じることはできません。私はヘッダーを最初に(死んだ)簡単に入れたし、今は完全に動作します。回答ありがとうございます。あなたは紳士です。 –

関連する問題