Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从多张图纸复制行并删除_Javascript_Google Sheets_Delete Row - Fatal编程技术网

Javascript 从多张图纸复制行并删除

Javascript 从多张图纸复制行并删除,javascript,google-sheets,delete-row,Javascript,Google Sheets,Delete Row,我不熟悉谷歌的javascript和脚本。我一直在做谷歌电子表格。我需要从多个工作表中复制行,并将它们粘贴到一个“关闭”的工作表中,然后从工作表中删除它们。只有在B列中找到单词Cerrado时,才能找到它们。 当我运行脚本时,它仅在纸张材料de Papeleria上运行,并且仅是第一行。如果找到Cerrado,它将进行复制和粘贴。 我会手动运行这个脚本。如何让它在所有页面和行上正确运行 function deleteRow(){ var ss=SpreadsheetApp.getActiv

我不熟悉谷歌的javascript和脚本。我一直在做谷歌电子表格。我需要从多个工作表中复制行,并将它们粘贴到一个“关闭”的工作表中,然后从工作表中删除它们。只有在B列中找到单词Cerrado时,才能找到它们。 当我运行脚本时,它仅在纸张材料de Papeleria上运行,并且仅是第一行。如果找到Cerrado,它将进行复制和粘贴。 我会手动运行这个脚本。如何让它在所有页面和行上正确运行

function deleteRow(){
   var ss=SpreadsheetApp.getActiveSpreadsheet();

    var tabs = [
      'Mantenimiento',
      'Material de papeleria',
      'Transporte',
      'Recursos para Eventos',
      'Mobiliario',
      'Material de Limpieza (e Higiene)'
    ];
  var sh1=ss.getSheetByName('closed');

  for (var i = 0; i < tabs.length; i++) {
    var sheet=ss.getSheetByName(tabs[i]);
    var range=sheet.getRange('A:AR').getValues();
      if(range[i][1]=='Cerrado')
      {
        sh1.appendRow(range[i]);
        sheet.deleteRow(i+1)
      }
    }
  }
函数deleteRow(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
变量选项卡=[
“Mantenimiento”,
“papeleria材料”,
“运输”,
“Recursos para Eventos”,
"机动",,
“Limpieza(e Higiene)材料”
];
var sh1=ss.getSheetByName('closed');
对于(变量i=0;i
您需要一个嵌套循环来处理
范围内的数据。变量
i
跟踪您在
选项卡
数组中的位置。在处理
范围内的数据时重用它没有意义

此外,您将希望以相反的顺序处理行,否则在执行过程中删除行将导致行索引不匹配

function deleteRow(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var tabs = [
      'Mantenimiento',
      'Material de papeleria',
      'Transporte',
      'Recursos para Eventos',
      'Mobiliario',
      'Material de Limpieza (e Higiene)'
  ];

  var closedSheet = ss.getSheetByName('closed');

  for (var i = 0; i < tabs.length; i++) {
    var sheet = ss.getSheetByName(tabs[i]);
    var range = sheet.getRange('A:AR').getValues();

    for (var j = range.length-1; j >= 0; j--) {
      if (range[j][1] == 'Cerrado') {
        sh1.appendRow(range[j]);
        sheet.deleteRow(j+1)
      }
    }
  }
函数deleteRow(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
变量选项卡=[
“Mantenimiento”,
“papeleria材料”,
“运输”,
“Recursos para Eventos”,
"机动",,
“Limpieza(e Higiene)材料”
];
var closedSheet=ss.getSheetByName('closed');
对于(变量i=0;i=0;j--){
如果(范围[j][1]=“Cerrado”){
sh1.附录行(范围[j]);
表.删除行(j+1)
}
}
}

您提供的代码示例是否缺少一行(特别是在
var range…
if(range…
)之间),请随意选择。