2014-10-29 125 views
0

我对java的知识很轻。我已经在这里创建了代码格式咨询5,6代码和开发人员谷歌组,但可以找出有条件的事情。将行从一个表格复制到另一个基于单元值的行

基本上我想复制H列中包含单词“AAF”或“SEQ”或“K7”的整行到最后一行的另一页。最终我会想要删除复制的行。 我没有试过实施拉斯特罗或删除行湿,但现在我股票只是为了让副本与过滤条件一起工作。 如果我拿出“for”循环的复制工作。

function copyrange() { 

var sheet = SpreadsheetApp.getActiveSheet(); 
var destsheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Feuille2"); //destination sheet >where to copy the source 
var rangeToCopy = sheet.getRange(1, 1, sheet.getMaxRows(), 11); //source to copy 
var data = sheet.getDataRange().getValues(); //variable for the filter 

for (n=0; n<data.length; ++n) { 
    if (data[n] == "AAF" || "SEQ" || "K7") 
     rangeToCopy.copyTo(destsheet.getRange(1, 1)); 
    } 
} 
+0

Java与此有什么关系? – epascarello 2014-10-29 13:09:20

+1

这是你正在谈论的java或javascript吗? – Markai 2014-10-29 13:14:35

+0

对不起,Javascript。在其中使用Google工作表和脚本编辑器。 – 2014-10-30 11:15:32

回答

0

终于找到了适合我的代码。

function Validation() { 
      var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Needed'); 
      var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Acquired'); 

      var data = sheet1.getRange(1,1, sheet1.getLastRow(), sheet1.getLastColumn()).getValues(); 

      var dest = []; 
      for (var i = 0; i < data.length; i++) { 
Logger.log(data[i][7]);// just to check if the condition is true sometimes ;-) 
      if (data[i][7] == "AAF" || data[i][7] == "SEQ" || data[i][7] == "K7"){ 
       dest.push(data[i]); 
      } 
      } // here is the end of the for loop 
     Logger.log(dest) ; // log the dest array instead 
      if (dest.length > 0) { // if something has been written in your array then batch write it to the dest. sheet 
      sheet2.getRange(sheet2.getLastRow()+1,1,dest.length,dest[0].length).setValues(dest); 
      } 
     } 
相关问题