2017-08-04 5 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

実際、はるかに良い!日記によると、それは動作しませんでしたが、問題が見つかりました。私は "。"を変更するアプリを使用していました。 "、"に、私はそれを非活性化し、それは働くために縫う。あなたの答えをありがとう! –

関連する問題