Google apps script 单元格引用超出范围-但我使用GetDataRange()
我尝试了一系列解决方案,但总是以单元格ref超出范围结束 我以为Google apps script 单元格引用超出范围-但我使用GetDataRange(),google-apps-script,google-sheets,Google Apps Script,Google Sheets,我尝试了一系列解决方案,但总是以单元格ref超出范围结束 我以为GetDataRange()&GetLastRow()会覆盖最后一个非空单元格,但我被卡住了。我试图硬编码我的单元格值(从X到Y),但似乎没有任何变化 var course; var searchingCol; function CalculateFurnitureList() { GetCourseString(); FindColumnNumber(course); GetSpecialFurnitures
GetDataRange()
&GetLastRow()
会覆盖最后一个非空单元格,但我被卡住了。我试图硬编码我的单元格值(从X到Y),但似乎没有任何变化
var course;
var searchingCol;
function CalculateFurnitureList()
{
GetCourseString();
FindColumnNumber(course);
GetSpecialFurnituresValue();
}
function GetCourseString()
{
var activeSheet = SpreadsheetApp.getActiveSheet();
var courseType = activeSheet.getRange("A2").getValue();
Browser.msgBox('Generate furniture list for ' + courseType + ' course');
course = courseType;
}
function FindColumnNumber(ct)
{
var furnitureSheet = SpreadsheetApp.getActive().getSheetByName("MaterielCours");
var range = furnitureSheet.getDataRange();
var width = range.getWidth();
//Search every cell in the designated area to find the course name
for (var i = 1; i <= width; i++)
{
var data = range.getCell(1,i);
if (data.getValue() == ct)
{
Browser.msgBox('Trouvé ! ' + data.getValue() + ' se trouve en : ' + i +':1');
searchingCol = i;
}
}
}
function GetSpecialFurnituresValue()
{
Browser.msgBox(searchingCol);
var furnitureSheet = SpreadsheetApp.getActive().getSheetByName("MaterielCours");
var range = furnitureSheet.getDataRange();
var length = range.getLastRow();
for (var i = 1; i < length; i++)
{
var data = range.getCell(searchingCol, i);
if (data.getValue() !== "")
{
// Do nothing
}
else
{
if (data == "Abs")
{
Browser.msgBox('NTM');
}
else
{
// Calculate value
}
}
}
}
var课程;
var-searchingCol;
函数CalculateFurnitureList()
{
GetCourseString();
FindColumnNumber(课程);
GetSpecialFurnituresValue();
}
函数GetCourseString()
{
var activeSheet=SpreadsheetApp.getActiveSheet();
var courseType=activeSheet.getRange(“A2”).getValue();
msgBox('为'+courseType+'course'生成家具列表');
课程=课程类型;
}
函数FindColumnNumber(ct)
{
var furnitureSheet=SpreadsheetApp.getActive().getSheetByName(“materialcours”);
var range=furnitureSheet.getDataRange();
var width=range.getWidth();
//搜索指定区域中的每个单元格以查找课程名称
对于函数GetSpecialFurnitureValues中的(var i=1;i(编辑我的原始答案-我一定累了!),有几点需要注意
for循环使用i
for循环使用i// for (var i = 1; i < length; i++)
for (var i = 1; i <= length; i++)
// var data = range.getCell(searchingCol, i);
var data = range.getCell(i, searchingCol);