키 열 'O'를 선택하여 한 시트에서 다른 시트로 행을 복사하려고합니다. 나는 행이 새 시트에 통해 반복되는 것을 볼 수 있기 때문에GAS의 키 배열을 확인하여 행을 새 시트에 복사하십시오.
function keyPush(){
var thisSheet = SpreadsheetApp.openById('##');
var origSheet = thisSheet.getSheetByName('original');
var origLastRow = origSheet.getLastRow();
var newSheet= thisSheet.getSheetByName('copy');
var tkhLastRow = newSheet.getLastRow();
var keyCol = 'O';
var key = origSheet.getRange(keyCol+'2:'+keyCol+origLastRow).getValues();
for(var row=key.length-1;row>1;row--){
if(origSheet.getRange('O'+row) != 'done')
{
var orig = origSheet.getRange('A'+row+':N'+row);
var dest = newSheet.getRange('C'+tkhLastRow+':P'+tkhLastRow);
orig.copyTo(dest,{contentOnly:true});
origSheet.getRange('O'+row).setValue('done');
}
}
}
나는 루프 또는 뭔가가있어. 완료 표시가없는 행만 새 시트에 복사해야합니다. 지금 당장 origSheet의 모든 행을 newSheet의 동일한 행으로 밀어 넣었습니다. 왜 그런지 알 수 있습니다.
'tkhLastRow = newSheet.getLastRow();가 더 높게 선언되었습니다. IF 문에서 다시 선언하면 다른 작업이 수행됩니까? – testing123
신고하는 것이 아닙니다. tkhLastRow 값은 프로그램을 시작할 때 변경하면 변경되지 않습니다. 예를 들어, 마지막 행은 3 행입니다 :'tkhLastRow = 3'이됩니다. 복사 할 첫 번째 줄은 3 번 줄에 있습니다. 그러나 그 이후에 tkhLastRow 값을 업데이트하지 않으면 3 대신에 4가 유지됩니다. 따라서 문제가있는 것처럼 보이는 동일한 행에 항상 표시됩니다. –
여전히 모든 행을 반복하므로 루프에 문제가 있습니다 ... – testing123