2017-08-26 9 views
-1

固定列(列A)のセルに値 "ST"を持つ行を非表示にする必要があります この関数は、列53のbalckセルを含む行を非表示にします。私はブランクのセルではなく "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); 
    } 
} 
} 
での細胞のためにループする必要があります
関連する問題