我有一个要单击的按钮,它将使我滚动到某个位置。我这样做是为了让我进入第100行:
function ScrollMe(){
var file = SpreadsheetApp.getActiveSpreadsheet();
var sheet = file.getActiveSheet();
var row = 100;
file.setActiveCell(sheet.getRange(row,1));
}
如果在列'B'中找到包含(REGEX =>“版本:[0-9]?[0-9]?[0-9] [。 ]?[0-9]?[0-9]?[a-zA-Z] +“),然后转到最后一个类似的值。因此,基本上,转到列“ B”中以“版本:”开头的最后一个单元格,然后具有一个,两位或三位数的数字,一个小数点,然后是两个数字,其后是任意数量的字母事实之后的文字。我希望它看起来像这样:
function ScrollMe(){
var file = SpreadsheetApp.getActiveSpreadsheet();
var sheet = file.getActiveSheet();
//C# lambda
var row = FindAll(a=> a.COLUMN == 'B' && a.VALUE.RegexMatch("Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+"));
file.setActiveCell(sheet.getRange(row,1));
}
我假设您希望脚本在B列中找到与您的正则表达式匹配的最后一个单元格。如果是这样,您可以使用以下代码:
function ScrollMe() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = sheet.getRange("B:B").getValues();
var regex = new RegExp(
'Version: [0-9]?[0-9]?[0-9][.]?[0-9]?[0-9]? [a-zA-Z]+');
for (var i = 0; i < data.length; i++) {
if (regex.test(data[i][0])) {
var lastMatch = i;
}
}
sheet.setActiveRange(sheet.getRange(lastMatch + 1, 2));
}
先前的代码使用了您的方法。它将首先读取整列B,然后迭代查找与正则表达式匹配的最后一个单元格。当找到该单元格时,它将选择它。请问我对功能是否有任何疑问。