[英]Google Sheets Scripts - For each cell in range, get row number where cell has specific value, copy row to first blank row in range
[英]How to get row number of a cell with a specific text in Google Scripts
在我的 N 列中,只有一个单元格带有文本 - “Double-Clic:如何获取该单元格的行号。
我的部分代码有错误:
function AddNewRows() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var a = spreadsheet.getRange("N1:N" + spreadsheet.getLastRow()).createTextFinder("Double-Click").matchEntireCell(true).findNext().getRow()+1;
var b = a+6
;
Edit 2:
Above issue is resolved. Thank you so much to all those who answered it.
But getting error in this last line = Range not found.
function AddNewRows() {
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var a = spreadsheet.getRange("N1:N" + spreadsheet.getLastRow()).createTextFinder("Double-Click").matchEntireCell(true).findNext().getRow()+1;
var b = a+6
spreadsheet.getRange(a,b).activate();
spreadsheet.setCurrentCell(spreadsheet.getRange("A" & a &":A" & b));
Please help.
找到第一次出现
function FindRow() {
const ss = SpreadsheetApp.getActive();
const r = ss.createTextFinder("Double-Click").matchEntireCell(true).findNext();
const location = r.getA1Notation();
const sheet = r.getSheet();
const row = r.getRow();
Logger.log('%s!%s row:%s',sheet.getName(),location,row);
return row;
}
我认为您出现问题的原因是getRange
的spreadsheet.getRange.createTextFinder
。
从In my column N, there is only one cell with text - "Double-Clic: How to get the row number of that cell.
,当你想从列 "N" 中搜索Double-Click
的值时,请修改如下。
function FindRow() {
var sheet = SpreadsheetApp.getActiveSheet();
var a = sheet.getRange("N1:N" + sheet.getLastRow()).createTextFinder("Double-Click").matchEntireCell(true).findNext().getRow();
return a
}
"N1:N" + sheet.getLastRow()
修改为"N2:N" + sheet.getLastRow()
。 createTextFinder
方法也存在于 Class Range、Class Sheet、Class Spreadsheet 中。 比如当你想从sheet中查找值时,也可以修改如下。
function FindRow() { var sheet = SpreadsheetApp.getActiveSheet(); var a = sheet.createTextFinder("Double-Click").matchEntireCell(true).findNext().getRow(); return a }
从Above issue is resolved. Thank you so much to all those who answered it.
Above issue is resolved. Thank you so much to all those who answered it.
,我了解到您的问题已解决。
关于你的新问题But getting error in this last line = Range not found.
,当我看到你的新问题的脚本时,我认为当你要添加字符串时, "A" & a &":A" & b
需要修改。 它是"A" + a + ":A" + b
。
但是,当a
的值与b
的值不同时,就会发生错误。 因为setCurrentCell
可以用于一个单元格。
不幸的是,我不确定我是否能正确理解你的新问题Also, can I add "+1" in the last as I want the next row which has the text "Double-Click"
,
如果要激活"A" + a + ":A" + b
的单元格,请修改如下。
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
var a = spreadsheet.getRange("N1:N" + spreadsheet.getLastRow()).createTextFinder("Double-Click").matchEntireCell(true).findNext().getRow() + 1;
var b = a + 6;
spreadsheet.getRange("A" + a + ":A" + b).activate();
如果要激活搜索单元格下一行的单元格,请修改如下。
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
spreadsheet.getRange("N1:N" + spreadsheet.getLastRow()).createTextFinder("Double-Click").matchEntireCell(true).findNext().offset(1, 0).activate();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.