Google apps script 有没有一种方法可以根据变量在Google脚本中选择范围?

Google apps script 有没有一种方法可以根据变量在Google脚本中选择范围?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,所以在离开excel后,我开始使用google脚本和工作表 在excel中,如果要使用变量选择特定范围,则宏中的公式将为 范围(“C1:F”和最后一行)。选择 其中,lastrow是您先前命名的变量 我找不到一个等价的公式或脚本,可以做同样的谷歌脚本 基本上,我只想选择要复制的特定范围,但由于数据行会有所不同,我只想选择使用过的行,而不是整个页面。使用公式 您可以使用该函数,以及Google Sheets连接 返回由字符串指定的单元格引用 例如,给出以下“学生信息”表: 您可以使用=INDIR

所以在离开excel后,我开始使用google脚本和工作表

在excel中,如果要使用变量选择特定范围,则宏中的公式将为
范围(“C1:F”和最后一行)。选择
其中,
lastrow
是您先前命名的变量

我找不到一个等价的公式或脚本,可以做同样的谷歌脚本

基本上,我只想选择要复制的特定范围,但由于数据行会有所不同,我只想选择使用过的行,而不是整个页面。

使用公式 您可以使用该函数,以及Google Sheets连接

返回由字符串指定的单元格引用

例如,给出以下“学生信息”表:

您可以使用
=INDIRECT(“学生信息!A2:B”&B1)
从同一电子表格中的另一张表中获取前三名学生,如下所示:

使用谷歌应用程序脚本 您可以使用的方法以及JavaScript连接来获得您选择的范围。例如:

函数myFunction(){
var sheet=SpreadsheetApp.getActive().getSheetByName('Student info');
var lastRow=4;
var studentRange=sheet.getRange(“A2:B”+lastRow);
Logger.log(studentRange.getValues());
}
这将获得范围
A2:B4
,并使用打印工具打印其值

或者,也可以使用该方法的变体。在这种情况下,用法如下:

函数myFunction(){
var sheet=SpreadsheetApp.getActive().getSheetByName('Student info');
var lastRow=4;
var studentRange=sheet.getRange(2,1,最后一行,2);
Logger.log(studentRange.getValues());
}
额外的 要从另一个电子表格导入数据,可以使用该功能。对于上述设置,但从不同的电子表格中获取数据,可按如下方式使用该功能:


非常感谢您的帮助,这对帮助我找到正确的方向至关重要

我设法拼凑了一个代码,它基本上反映了选择所需行和列的excel代码。 出于某种原因,我意识到google脚本是区分大小写的,但excel vb不是,所以这是我必须注意的另一件事

基本上,这相当于excel的宏:

Sheets("MySheet").select
lastrow = Range("O99999").End(XLUp).row
Range("K1:V" & lastrow).select
这是我的密码:

function zzz1() {
var sheet = SpreadsheetApp.getActive().getSheetByName('MySheet');
var lastrow = sheet.getRange("O"+(sheet.getLastRow()+1)).getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
var printrange = sheet.getRange("K1:V" + lastrow)
printrange.activate()
}

嘿@lysa0你能用我的答案解决你的问题吗?请考虑一下,以防对你有用。否则,请描述您遇到的问题,以便我们可以帮助您。干杯