下面是我正在运行的一个脚本,它根据工作表LX03SB第2列中的值搜索存储在附件位置的项目。我们目前有10个附属地点,所以我添加了对每个地点的搜索,但随着我们的扩展,这变得越来越乏味。是否有方法修改valueToWatch函数,以查找以附件开头的任何值,而不是所需的附件01、附件02等。
function MoveAllRightRows1(){
var columnNumberToWatch = 2;
var valueToWatch = "ANNEX01";
var sheetNameToMoveTheRowTo = "OFFSITE";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("LX03SBD");
var row = 1;
var len = sheet.getRange(1 , columnNumberToWatch, sheet.getLastRow() - 1).length;
var range = sheet.getRange(row,2,sheet.getLastRow(),1).getValues();
var len = range.length;
var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
for (row=len; row> 0 ; row--){
if (range[row-1][0]== valueToWatch) {
var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
sheet.getRange(row, 1, 1,sheet.getLastColumn()).moveTo(targetRange);
sheet.deleteRow(row);
}}}
function MoveAllRightRows2(){
var columnNumberToWatch = 2;
var valueToWatch = "ANNEX02";
var sheetNameToMoveTheRowTo = "OFFSITE";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("LX03SBD");
var row = 1;
var len = sheet.getRange(1 , columnNumberToWatch, sheet.getLastRow() - 1).length;
var range = sheet.getRange(row,2,sheet.getLastRow(),1).getValues();
var len = range.length;
var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
for (row=len; row> 0 ; row--){
if (range[row-1][0]== valueToWatch) {
var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
sheet.getRange(row, 1, 1,sheet.getLastColumn()).moveTo(targetRange);
sheet.deleteRow(row);
}}}
我相信您的目标如下。
- 您希望反映用于从列"中搜索值(如
Annex02
、Annex01
等(的脚本;B";的";LX03SBD";工作表
在这种情况下,使用TextFinder怎么样?当这反映到您的脚本中时,它将变为如下。
修改的脚本:
PD_3- 当运行该脚本时,
Annex02
、CCD_5等的值从列";B";的";LX03SBD";床单并且,在循环中使用搜索到的值