Google Sheets脚本开关语句

3

我有一个看起来很简单的问题,但我无法解决它,需要一些帮助。

我正在尝试创建一个脚本,每周从一个现有的表格中获取数据,并将其复制到同一工作簿中的新表格中。该宏将把信息粘贴到与该周相关的新表格中。

我可以复制和粘贴信息,但我无法根据周数进行复制和粘贴。

周数值由“=Month()”函数驱动,该函数是从实时时间和日期驱动的函数“=Now()”中获取的。

如果我删除Case语句,我可以在一个工作表上显示周“源”的值。然而,我似乎无法让宏理解该值,然后选择相应的Case语句。

目前,我已经删除了=Month()函数,并为该周输入了32。但它仍然似乎没有选择该值。--原始代码--

function copyValuesOnly2(copyFromRange, copyToRangeStart) {
    var currentWeek = 'Live Summary!B9';

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var source = ss.getRange('Live Summary!B9');
    var copyFromRange = source ;
    var Value = ss.getRange('Live Summary!A1:I8')
 
switch (source){
  case 32:
      var copyToRangeStart = 'Week 32!A1:I8';
      Value.copyTo(ss.getRange(copyToRangeStart), {contentsOnly: true});
break;
  case 33:
      var copyToRangeStart = 'Week 33!A1:I8';
      Value.copyTo(ss.getRange(copyToRangeStart), {contentsOnly: true});
   break;
 }

}

在你的代码中,source 变量是一个范围对象; 你需要从这个范围中获取值: var source = ss.getRange("Live Summary!B9").getValue();. 此外,你引用了 MONTH() 电子表格函数来检索周数 - 你不需要使用 WEEKNUM() 函数吗? - AdamL
AdamL - 谢谢!是的!这正是我需要获取值的方法!哇,伙计,你不知道这让我有多么放心! - Rory O'Connor
1个回答

1
在你的代码中,source 变量是一个范围对象;你需要从该范围中获取值:
var source = ss.getRange("Live Summary!B9").getValue();

此外,您提到使用MONTH()电子表格函数来检索周数 - 您不需要使用WEEKNUM()函数吗?根据AdamL评论

原文代码:

function copyValuesOnly2(copyFromRange, copyToRangeStart) {
var currentWeek = "Live Summary!B9";

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var source = ss.getRange("Live Summary!B9").getValue();
  var copyToRangeStart = "";
  var copyFromRange = source ;
  var Value = ss.getRange('Live Summary!A1:I8')

switch (source){
    case 32:
      var copyToRangeStart = 'Week 32!A1';
      Value.copyTo(ss.getRange(copyToRangeStart), {contentsOnly: true}); 
      Logger.log(copyToRangeStart);

  break;
    case 33:
      var copyToRangeStart = 'Week 33!A1:I8';
      Value.copyTo(ss.getRange(copyToRangeStart), {contentsOnly: true});
  break;

    case 34:
       var copyToRangeStart = 'Week 34!A1:I8';
       Value.copyTo(ss.getRange(copyToRangeStart), {contentsOnly: true});
  break;
}
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接