グーグルスプレッドシートで、指定の列に特定の文字列が入力されたら、行をグレイアウト、指定のセルに現在時間を入力しコピーして最終行の1行上に貼り付けしてコピー元の削除と言う動作をさせたいのですが、コピーしえ貼り付けの動作が上手くいきません。
1function onEdit(s) { 2 var sheet = s.source.getActiveSheet(), 3 range = sheet.getDataRange(), 4 dataLength = range.getValues()[0].length, 5 lastR = sheet.getLastRow(), 6 row = s.range.getRow(), 7 col = s.range.getColumn(), 8 day = Utilities.formatDate(new Date(), "JST", "MM/dd"), 9 time = Utilities.formatDate(new Date(), "JST", "H:mm"), 10 copyRow = lastR - 1; 11 var st = 7; { 12 if (col !== st) { 13 return; 14 } 15switch (s.value) { 16 case Status.Finished: 17 sheet.getRange(row, 1, 1, 7).setFontColor(Color.Finished).setFontWeight("bold"); 18 sheet.getRange(row, 10, 1, 1).setValue([day] + '\n' + [time]), 19 sheet.getRange(row, 1, 1, dataLength).copyTo(sheet.getRnge(copyRow,1)), 20 sheet.insertRowsBefore(lastR,1), 21 sheet.deleteRow(row); 22 break; 23 24} 25} 26};
コードの順番を変えてテストしたところ、最終行の1行上に行追加とコピー元の削除はどうさしました。
皆様の御助力をお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/06 01:21