2

양식을 작성하는 데 도움이되는 스크립트를 가져 오는 데 도움이 필요합니다. '새 주문'시트의 마지막 줄 (새 양식 제출 정보)을 제출 한 다음 복사하십시오. 필요한 열을 'DIBOND ORDERS'시트에 추가하면 새 고객 주문에 필요한 제품이 필요한 공급 업체의 주문서에 자동으로 배치됩니다.마지막 행을 가져와 필요한 열을 복사하는 방법

우리는 의류에 대한 몇 가지 공급 업체가 있으므로 포장 도로는 제품을 전시합니다.

내 현재 코드 내가 편집에 기능과 시트 오전하지만 기능을 제출 양식에로 정품 인증을받을 수없는 경우에이 지사를 작동

function onEdit() { 

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var s = ss.getActiveSheet(); 
var r = ss.getActiveRange(); 
if(s.getName() == "New Orders" && r.getColumn() == 5 && r.getValue() == "DIBOND") { 

    var row = r.getRow(); 

    var numColumns = s.getLastColumn(); 

    var TSS = ss.getSheetByName("DIBOND ORDERS"); 
      var lastRow = TSS.getLastRow()+1; 
     var cntr = 0 
    s.getRange(row,2).copyTo(TSS.getRange(lastRow + cntr,1), {contentsOnly:true}); 
    s.getRange(row,5).copyTo(TSS.getRange(lastRow + cntr,2), {contentsOnly:true}); 
    s.getRange(row,6).copyTo(TSS.getRange(lastRow + cntr,4), {contentsOnly:true}); 
    s.getRange(row,4).copyTo(TSS.getRange(lastRow + cntr,8), {contentsOnly:true}); 
    s.getRange(row,7).copyTo(TSS.getRange(lastRow + cntr,5), {contentsOnly:true}); 
    s.getRange(row,8).copyTo(TSS.getRange(lastRow + cntr,6), {contentsOnly:true}); 
    s.getRange(row,9).copyTo(TSS.getRange(lastRow + cntr,7), {contentsOnly:true}); 
    //s.deleteRow(row); 
}} 

입니다.

나는 액티브 시트, 액티브 범위 ... 그것을 할 또는 내가 할 수 없다고 생각하기 시작

SpreadsheetApp.openById("ID").getRangeByName("New Orders"); 

를 사용하여 얻을 마지막 행에 설정 될 수를 제거 할 수있는 방법을 찾아 노력 해왔다 무언가를 놓침.

도움이 필요하시면 정말 감사드립니다.

러셀에 미리 감사드립니다.

답변

0

활성 스프레드 시트 (onEdit가 호출 됨)의 마지막 줄과 "DIBOND ORDERS"라는 시트가 생깁니다.

function getLastLine(){ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("DIBOND ORDERS"); 
    var range = sheet.getDataRange(); // gets all the data. 
    var values = range.getValues(); 
    Logger.log("LAST ROW : " + values[values.length -1]); 
} 
관련 문제