繁体   English   中英

协助将脚本从一张纸转换为另一张纸

[英]Assistance with Converting a Script from one sheet to another

大约 2 年前,我在为复杂的销售跟踪器编写休息按钮脚本方面得到了帮助,最初的解决方案非常有帮助。 原题供参考

从那以后,我已经能够为多个项目修改该脚本。 但是,我非常喜欢这个特定项目。 非常感谢任何转换脚本的帮助!

一个多月以来,我一直对此感到困惑,尝试了不同的方法,但到目前为止没有任何效果。 我知道这可能很简单。 所以,我特别想知道转换的内容和原因,如果您不介意将这些信息作为答案的一部分分享,以便我将来学习,我将不胜感激!

情况:我创建了一个待办事项列表仪表板,以帮助我在新职位上保持井井有条。 在同一张纸上有 4 个待办事项列表和一个摘要框(请参见下面的示例表)。 我正在尝试为我的个人待办事项列表编写重置按钮代码。 此列表来自 I4:K26 范围,需要在该范围内重复使用。 休息按钮旨在清除已完成任务的内容,而不删除行或格式,并按截止日期和名称对列表进行排序。

进展如何:我已经能够转换部分原始编码。 重置按钮按我希望的方式对项目进行排序,但不会清除内容。

这是当前项目的示例表

这是原始脚本:

//The one that worked!

function ResetCompletedOnly() {
  var sh=SpreadsheetApp.getActive().getSheetByName('SALES: RESET 2020');
  var rg=sh.getRange('B19:T104');
  var vA=rg.getValues();
  var vF=rg.getFormulas();
 for(var i=0;i<vA.length;i++) {
    if(vA[i][9]==1){//column K
      for(var j=0;j<vA[i].length;j++) {
        if(!vF[i][j]) {
          sh.getRange(i+19,j+2).setValue('');
        }
      }
    }
  }
  rg.sort({column:3,ascending:true});//column C the column number is not relative to the range.
}

到目前为止,这是我尝试转换它的尝试:

//Testing something new..

function ResetClearContents() {
 var sh = SpreadsheetApp
               .getActive()
               .getSheetByName("ResetToDo");
 var rg=sh.getRange('I4:K26');
  var vA=rg.getValues();
  var vF=rg.getFormulas();
  for(var i=0;i<vA.length;i++) {
    if(vA[i][3]==1){//column K based on range I4:K26
      for(var j=0;j<vA[i].length;j++) {
        if(!vF[i][j]) {
          sh.getRange(i+4,j+9).clearContent();
                  }
      }
    }
  }
  rg.sort([{column:11,ascending:true},{column:9,ascending:true},{column:10,ascending:true}]);//column I the column number is not relative to the range.
}

这是运行脚本之前的样子:

在此处输入图像描述

这是脚本完成后的样子:

在此处输入图像描述

但是,这是脚本当前正在执行的操作:

在此处输入图像描述

**感谢您花时间回顾我的困境。 我很感激你来看看!
**
附带问题:谷歌刚刚更新了它的数据验证下拉菜单,以便在有数据时具有恒定的背景颜色(在 K30:K41 范围内的示例表中看到)。我讨厌这个功能。有没有办法进行数据验证盒子透明以允许交替显示颜色??)

在范围 I4:K26 中,K 列是数组中的第 2 项,因为数组从 0 开始。

代替

 if(vA[i][3]==1)

 if(vA[i][2]==1)

暂无
暂无

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

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