我有一个看起来很简单的问题,但我无法解决它,需要一些帮助。
我正在尝试创建一个脚本,每周从一个现有的表格中获取数据,并将其复制到同一工作簿中的新表格中。该宏将把信息粘贴到与该周相关的新表格中。
我可以复制和粘贴信息,但我无法根据周数进行复制和粘贴。
周数值由“=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