首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用下面的代码,我需要添加另一个函数,该函数仅在选中复选框时移动单元格A和整行中的数据

使用下面的代码,我需要添加另一个函数,该函数仅在选中复选框时移动单元格A和整行中的数据
EN

Stack Overflow用户
提问于 2020-03-26 03:36:06
回答 1查看 38关注 0票数 0

使用下面的代码,我需要添加另一个函数,该函数执行else if语句所做的所有操作,而不是将整行数据移动到另一个工作表中,我只需要从单元格A移动数据。

我还需要添加一个函数,如果复选框被选中,该函数将移动整行数据。

代码语言:javascript
运行
复制
function onEdit(e) { 
      if (e.value === 'COMPLETED FAB') {
        var sheet = e.range.getSheet();
        if (sheet.getSheetName() == 'Fabrication') {                     
          logSheet = e.source.getSheetByName('Fabrication Completed');    
          var row = e.range.getRow(); 
          var lastRow = logSheet.getLastRow();
          var range = sheet.getRange(row, 1, 1, sheet.getLastColumn()); 
          range.copyTo(logSheet.getRange(lastRow + 1, 1));
          sheet.deleteRow(row);

        }
      }

      else if (e.value === 'FINISHED') {
        var sheet = e.range.getSheet();
        if (sheet.getSheetName() == 'Service') {                     
          logSheet = e.source.getSheetByName('Service Completed');   
          var row = e.range.getRow(); 
          var lastRow = logSheet.getLastRow();
          var range = sheet.getRange(row, 1, 1, sheet.getLastColumn()); 
          range.copyTo(logSheet.getRange(lastRow + 1, 1));
          sheet.deleteRow(row);

        }
      }

      else if (e.value === 'SURV COMP') {
        var sheet = e.range.getSheet();
        if (sheet.getSheetName() == 'Surveys') {                     
          logSheet = e.source.getSheetByName('Surveys Completed');    
          var row = e.range.getRow(); 
          var lastRow = logSheet.getLastRow();
          var range = sheet.getRange(row, 1, 1, sheet.getLastColumn()); 
          range.copyTo(logSheet.getRange(lastRow + 1, 1));
          sheet.deleteRow(row);

        }
      }

    }
EN

回答 1

Stack Overflow用户

发布于 2020-03-26 17:23:17

为了实现您的目标,您可以用switch场景替换if…else逻辑。最终结果如下所示:

代码语言:javascript
运行
复制
function onEdit(e) {
  switch (e.value) {
    case 'COMPLETED FAB':
      var sheet = e.range.getSheet();
      if (sheet.getSheetName() == 'Fabrication') {
        logSheet = e.source.getSheetByName('Fabrication Completed');
        var row = e.range.getRow();
        var lastRow = logSheet.getLastRow();
        var range = sheet.getRange(row, 1, 1, sheet.getLastColumn());
        range.copyTo(logSheet.getRange(lastRow + 1, 1));
        sheet.deleteRow(row);
      }
      break;
    case 'FINISHED':
      var sheet = e.range.getSheet();
      if (sheet.getSheetName() == 'Service') {
        logSheet = e.source.getSheetByName('Service Completed');
        var row = e.range.getRow();
        var lastRow = logSheet.getLastRow();
        var range = sheet.getRange(row, 1, 1, sheet.getLastColumn());
        range.copyTo(logSheet.getRange(lastRow + 1, 1));
        sheet.deleteRow(row);
      }
      break;
    case 'SURV COMP': {
      var sheet = e.range.getSheet();
      if (sheet.getSheetName() == 'Surveys') {
        logSheet = e.source.getSheetByName('Surveys Completed');
        var row = e.range.getRow();
        var lastRow = logSheet.getLastRow();
        var range = sheet.getRange(row, 1, 1, sheet.getLastColumn());
        range.copyTo(logSheet.getRange(lastRow + 1, 1));
        sheet.deleteRow(row);
      }
      break;
    }
  }
}

前面的代码将像您的原始代码一样工作,但如果有任何疑问,请不要犹豫地评论我的回答。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60856158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档