2016-06-01 14 views
0
function slReceive() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheetRSL = ss.getSheetByName("Salt Lake Receive"); 
    var dataRangeRSL = sheetRSL.getDataRange(); 
    var lastRowRSL = dataRangeRSL.getLastRow(); 
    var valuesRSL = dataRangeRSL.getValues(); 
    var insertArrRSL = new Array(); 

    for (var j = 0; j < lastRowRSL-1 ; j++){ 
    insertArrRSL[j] = new Array(); 
    } 

    for (var i = 1; i < lastRowRSL-1 ; i++){ 

    if (valuesRSL[i][11] == 0){ 

     insertArrRSL[i][0] = 0; 

    } 

    } 

    var insertRange = sheetRSL.getRange(2,15,lastRowRSL-1,1); 
    insertRange.setValues(insertArrRSL); 

    Logger.log(valuesRSL); 
} 

제대로 작동하려면 고심하고 있습니다. 나는 비어있는 칼럼 O를 가지고있다. 스크립트가 L 열을 확인하고 L의 해당 셀이 0이면 0으로 설정합니다.범위 폭이 잘못되었습니다. Google Apps Script & Google 스프레드 시트

예 : L2 == 0이면 O2를 0으로 설정합니다. L3 == 0이면 O3를 0으로 설정하십시오.

나는이

잘못된 범위 폭을 실행할 때 내가 오류, 0했지만

답변

1

당신이 좋아하는이 쉽게 할 수 있습니다 ("코드"라인 (24), 파일) 1이어야한다 이. 그냥 두 열을 다루십시오 L & O.

function slReceive1() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Salt Lake Receive"); 
    var lr = ss.getLastRow(); 
    var valuesL = sheet.getRange("L2:L"+lr).getValues(); 
    var valuesO = sheet.getRange("O2:O"+lr).getValues(); 
    for (var i = 0; i < valuesL.length ; i++){ 
    if (valuesL[i][0] == 0){ 
      valuesO[i][0] = 0; 
     }} 
    var insertRange = sheet.getRange("O2:O"+lr); 
    insertRange.setValues(valuesO); 
} 
+0

답장을 보내 주셔서 감사합니다! 전체 시트를 쓰지 않고 그것을 할 수있는 방법이 있습니까? 나는 대부분의 열에 수식을 가지고 있는데, 그것은 O 열에 삽입하려는 것입니다. – enano2054

+0

두 개의 열만 처리하십시오. –

관련 문제