2017-08-26 121 views
-1

我需要在固定列(列A)的单元格中隐藏具有值“ST”的行 此函数隐藏列53中包含黑白单元格的行。我不是空白单元格但是具有“ST”值的单元格?隐藏在特定列中包含特定值的行

function nascondiRighe() { 

// This hides rows with blank cells  
var sheet = SpreadsheetApp.getActive().getSheetByName("VT.Attivita"); 
var lastRow=sheet.getMaxRows(); 
var lastColumn=sheet.getMaxColumns(); 
var range=sheet.getRange(1, 53, lastRow, 1); 
var data=range.getValues(); 
for(var i=0;i<data.length;i++) 
{ 
    if(!data[i][0]) 
    { 
    sheet.hideRow(range); 
    } 
} 

} 

回答

1

你只需要改变if循环。

function nascondiRighe() { 
    // This hides rows with blank cells  
    var sheet = SpreadsheetApp.getActive().getSheetByName("VT.Attivita"); 
    var lastRow = sheet.getMaxRows(); 
    var lastColumn = sheet.getMaxColumns(); 
    var range = sheet.getRange(1, 53, lastRow, 1); 
    var data = range.getValues(); 
    for (var i = 0; i < data.length; i++) { 
     if (data[i][0] == "ST") { 
      sheet.hideRows(i + 1) 
     } 
    } 
} 
1

我认为这将是编译时间,因为LASTROW/LastColumn是更好,然后更美好的最大行/列,你只需要环路细胞值不是所有的任何细胞

function nascondiRighe() { 

// This hides rows with 'ST' cells  
var sheet = SpreadsheetApp.getActive().getSheetByName("VT.Attivita"); 
var lastRow=sheet.getLastRow(); 
var arr=sheet.getRange(1,53,lastRow,1).getValues(); 

for(var i=0;i<arr.length;i++) 
{ 
    if(arr[i][0]==='ST') 
    { 
    sheet.hideRows(i+1); 
    } 
} 
}