2016-10-26 2 views
0

행 목록이 자동으로 업데이트되었으며 매일 복사하여 저장하고 싶습니다. 행을 반복하고 다음 시트에 복사하십시오.

나는 다음과 같은 스크립트를 작성했습니다

function saveData() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 
    var rowcount = sheet.getRange("A1:A").getValues(); 
    var sheetdef = ss.getSheets()[1]; 

    for(var i = 0; i < rowcount.length; i++){ 
    var weeknum = sheet.getRange('Feed!A1').getValue(); 
    var year = sheet.getRange('Feed!B1').getValue(); 
    var date = sheet.getRange('Feed!C1').getValue(); 
    var sessions = sheet.getRange('Feed!D1').getValue(); 
    sheetdef.appendRow([weeknum,year,date,sessions]); 
}} 

을하지만, 당신이 그것을 실행을 중지 결코 볼 수 플러스, 그것은 단지 첫 번째 행에서 데이터를 복사한다. 문제를 확인할 수 있다면 해결 방법을 모르겠습니다.

빈 행을 계산하기 때문에 내 rowcount 행이 잘못되었다고 가정합니다. 또한 동적 인수를 취할 수 있도록 sheet.getRange 수식을 업데이트해야합니다.

감사합니다.

답변

0

, 나는이 함께 왔어요 :

// function to save data Tendance sessions 
function saveData() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheets()[0]; 
    var sheetdef = ss.getSheets()[1]; 
    lastRow = sheet.getLastRow(); 

    for (i = lastRow; i > 0; i--){ 
    var weeknum = sheet.getRange(i,1).getValue(); 
    var year = sheet.getRange(i,2).getValue(); 
    var date = sheet.getRange(i,3).getValue(); 
    var sessions = sheet.getRange(i,4).getValue(); 
    sheetdef.appendRow([weeknum,year,date,sessions]); 
}} 
1
안된

하지만 작동합니다 : Vasim의 도움으로

function saveData() { 
     var ss = SpreadsheetApp.getActiveSpreadsheet(); 
     var sheet = ss.getSheets()[0]; 
     //var rowcount = sheet.getRange("A1:A").getValues(); 
    var Avals = ss.getRange("A1:A").getValues(); 
    var rowcount = Avals.filter(String).length; //This will take the last non blank cell from A column 
     var sheetdef = ss.getSheets()[1]; 

//I suggest you define Feed sheet as well 
var feedsheet = ss.getSheetsByName("Feed") 

     for(var i = 0; i < rowcount.length; i++){ 
     var weeknum = feedsheet(i,1).getValue(); //<- ith row and first/second column 
     var year = feedsheet.getRange(i,2).getValue(); 
     var date = feedsheet.getRange(i,3).getValue(); 
     var sessions = feedsheet.getRange(i,4).getValue(); 
     sheetdef.appendRow([weeknum,year,date,sessions]); 
    }} 
+0

다음과 같은 오류가있어'형식 오류 : 시트는, 함수 아니다 객체입니다. (줄 18, 파일 "코드")'var weeknum = feedsheet (i, 1) .getValue();' –

+0

편집 : 적절한 범위를 선택하도록'feedsheet'에'.getRange'를 추가했습니다. – Vasim

관련 문제