繁体   English   中英

将值从一行移动到下一个标签,而无需在Google表格中保留格式

[英]Moving values from a row to the next tab without keeping formatting in google sheets

从下拉菜单中选择“实时”后,我试图将行移至下一个标签。 我只希望忽略值和格式。

我过去曾在编辑上进行过这项工作,但最近它决定除非我在工作表上按下按钮,否则它将无法工作,并且它也开始使用它来拖拽所有数据验证和条件格式。 我没有更改脚本中的任何内容,也不认为我的任何同事也有更改。

任何帮助将非常感激。

function Projects(e) {
  // moves whole row when "Live" is selected from drop down menu
  var sheetNameToWatch = "Projects";
  var columnNumberToWatch = 8;
  var valueToWatch = "Live";
  var sheetNameToMoveTheRowTo = "Status Tracker";
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getActiveCell();
  if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) {
    var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).moveTo(targetRange);
    sheet.deleteRow(range.getRow());
  }
}

两件事情:

  1. 删除触发器并重新安装。
  2. 与其使用包括格式设置的moveTo()copyTo()使用copyTo()并包含contentsOnly选项。

以下修改后的代码将为您工作。 请注意,我还进行了一些更改,以充分利用传递给它的事件对象的优势。

function Projects(e) {
  // moves whole row when "Live" is selected from drop down menu
  var sheetNameToWatch = "Projects";
  var columnNumberToWatch = 8;
  var valueToWatch = "Live";
  var sheetNameToMoveTheRowTo = "Status Tracker";

  var ss = e.source; // use the event object to get the spreadsheet
  var range = e.range; // use the event object to get the edited cell
  var sheet = e.range.getSheet(); // use the event object to the get the sheet
  if (sheet.getName() == sheetNameToWatch && range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) {
    var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    sheet.getRange(range.getRow(), 1, 1, sheet.getLastColumn()).copyTo(targetRange, {contentsOnly:true});
    sheet.deleteRow(range.getRow());
  }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM