2015-02-07 29 views
1

如何将我的变量“范围”更改为输入电子表格而不是“A2:Z2”的最后一行数据?如何将范围设置为电子表格中数据的最后一行?使用Google Apps脚本

function findFault() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Inspections"); 

    //Set the range to be search through 
    var range = sheet.getRange('A2:Z2'); 

    //Turn the range into data values 
    var data = range.getValues(); 

    //Declare fault and the value to search for 
    var fault = "Fault"; 

    //Iterate through data to find fault 
    for (var i = 0; i < data.length; i++) { 
    for (var j = 0; j < data[i].length; j++) { 
     if (data[i][j] == fault) { 

     //log to test if working 
     Logger.log("Found Fault"); 
     } 
    } 
    } 
} 
+0

你想搜索每一个单元格吗?不只是一列,或找到特定的行? – 2015-02-07 19:00:46

回答

1

我更新了我的代码,并得到它的工作。如果任何人有提示使其更有效,请发布。

function findFault() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet = ss.getSheetByName("Inspections"); 

    //Get the last row if data 
    var lastRowNumber = sheet.getDataRange().getNumRows(); 
    var allColumns = sheet.getDataRange().getNumColumns(); 

    //Set the range to be search through 
    var range = sheet.getRange(lastRowNumber, 1, 1, allColumns); 

    //Turn the range into data values 
    var data = range.getValues(); 

    //Declare fault and the value to search for 
    var fault = "Fault"; 


    //Iterate through data to dinf fault 
    for (var i = 0; i < data.length; i++) { 
    for (var j = 0; j < data[i].length; j++) { 
     if (data[i][j] == fault) { 

     //log to test if working 
     Logger.log("Found Fault"); 
     } 
    } 
    } 
} 
+0

'var range = sheet.getDataRange()' – Jonathon 2015-02-08 11:33:31

相关问题