【发布时间】:2019-07-07 06:14:27
【问题描述】:
我创建了一个 API,它在电子表格中的表格 2 中搜索关键字并返回找到关键字的单元格的行号。我想将表格 2 中的所有行复制并粘贴到表 1. 我无法让脚本将它们全部复制和粘贴。
function executeSearch() {
//establishing search sheet
var SSS = SpreadsheetApp.openById('ID');
var SS = SSS.getSheetByName('Sheet1');
var searchTerm = SS.getRange('B3').getValue();
//establishing the data sheet
var DS = SSS.getSheetByName('Sheet2');
var completeSearch = DS.createTextFinder(searchTerm).findAll();
for (var i = 0; i < completeSearch.length; i++) {
var range = completeSearch[i];
var resultsCells = range.getA1Notation(); //get the cell location of the search data cell
var row = range.getRow(); //get the rows that the search data is in
DS.getRange(row, 1, 1, DS.getMaxColumns()).copyTo(SS.getRange(8, 1, 1, DS.getMaxColumns()));
}
【问题讨论】:
-
您已将所有行复制到 SS 的同一(第 8 行)行中(参见最后一行代码)。这是一个错误吗?
-
@АлександрЕрмолин 哦,是的!如果有意义的话,我将如何定义范围以便将每一行(其中包含搜索结果)复制到行中?我遇到的主要问题是它不会复制所有结果,即使有多行也是如此。它总是只复制原始数据表中的一行。行变量返回如下答案:
[19-07-07 00:43:30:639 PDT] 3.0 [19-07-07 00:43:30:642 PDT] 9.0 [19-07-07 00:43:30:645 PDT] 13.0 -
@АлександрЕрмолин 这些结果是行。我需要将每一行按数字复制到另一张纸中。我不知道该怎么做。
标签: search google-apps-script google-sheets google-sheets-api