2017-08-04 162 views
1

我有一個腳本,當我在第17列(文件關閉的日期)輸入一個值時,它將複製一行到另一個表格中。複製Google表格腳本格式

我不知道爲什麼,但在複製之前,改變格式和日期出現在數字格式

例如:04/08/2017 =>42951

上可能是什麼問題,你知道嗎?

這裏是我的腳本:

function onEdit(r) { 

    var sheet = r.source.getActiveSheet(); 
    if(sheet.getName()!="Remboursements"){return} 

    var ss = SpreadsheetApp.getActiveSpreadsheet(); 

    var source_sheet = ss.getSheetByName("Remboursements"); 
    var target_sheet = ss.getSheetByName("Remboursements traités"); 

    var range1 = r.range; 
    var columnOfCellEdited = range1.getColumn(); 

    if (columnOfCellEdited === 17){ 

     var source_range = source_sheet.getRange("A"+ range1.getRow()+":Q"+ range1.getRow()); 

     var last_row = target_sheet.getLastRow(); 

     target_sheet.insertRowAfter(last_row); 

     var target_range = target_sheet.getRange("A"+(last_row+1)+":Q"+(last_row+1)); 

     source_range.copyTo(target_range); 
     source_sheet.deleteRow(range1.getRow()) 
    } 
} 
+0

也許你只是需要格式化target_sheet的該列。 – Cooper

回答

0

這裏的另一種方式做到這一點:

function onEdit(r) { 
    if(r.source.getActiveSheet().getName()!="Remboursements"){return} 
    var source_sheet=r.source.getSheetByName("Remboursements"); 
    var target_sheet=r.source.getSheetByName("Remboursements traités"); 
    if (r.range.getColumn()==17) 
    { 
     var source_range=source_sheet.getRange("A"+ r.range.getRow() +":Q"+ r.range.getRow()); 
     var values=source_range.getValues(); 
     target_sheet.appendRow(values); 
     source_sheet.deleteRow(r.range.getRow()) 
    } 
} 
+0

確實,好多了!根據格式化日期,它沒有工作,但我發現了問題。我正在使用改變「。」的應用程序。成一個「,」,我解除了它,它接縫工作。非常感謝您的回答! –

相關問題