作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图获取一系列单元格中每个单元格的值,但出现此错误:
'Error:TypeError: Cannot find function getValue in object function mergeAcross'.
我已经阅读了 mergeAcross()
的文档,但不明白它与我的问题有什么关系。我在 dataRange
变量上使用了 mergeAcross()
的相反函数,即 breakApart()
函数,但效果不佳.我也尝试过使用 dataRange
值创建一个变量并在 for 循环中使用它,但是我无法获取值所在的行。
var Ssheet = SpreadsheetApp.getActive();
var sheet = Ssheet.getSheets()[0];
var dataRange = sheet.getRange('B2:B100');
for (var ncell in dataRange){
if (!dataRange[ncell].getValue()){
break
}
var othercellVa = sheet.getRange(dataRange[ncell].getRow(),13).getValue();
// I need to get the row of the value I'm reading
Logger.log(dataRange[ncell].getValue());
}
我应该记录单元格值,但我却收到上述错误。提前致谢。
最佳答案
试试这个:
function myFunction() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheets()[0];//gets the left sheet
var rg=sh.getRange('B2:B100');
var vA=rg.getValues();
for(var i=0;i<vA.length;i++) {
if(!vA[i][0]) {
break;//if null
}
}
Logger.log(vA);
}
我只是想指出,在您的代码中,dataRange 没有值,范围只是一个单元格或相邻单元格的集合。该对象没有值。您可以使用 Object.values(dataRange) 对其进行测试,您会发现它只有方法。所以使用这种形式的 dataRange[ncell] 是没有意义的,因为它不包含任何值,而且它的所有键都是方法。因此,如果您首先要查找此范围内每个值的行和列,则必须使用 dataRange.getValues() 获取值,现在您有一个二维数组。以下示例将显示该列中每个单元格的行值和列值。
function myFunction() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet177');
var rg=sh.getRange('B2:B100');
var vA=rg.getValues();
for(var i=0;i<vA.length;i++) {
if(!vA[i][0]) {
Logger.log('no value row: %s col: %s',rg.getRow() + i, rg.getColumn());
continue;//if null
}else{
Logger.log('value: %s row: %s col: %s',vA[i][0],rg.getRow() + i, rg.getColumn());
}
}
}
关于javascript - 错误 :TypeError: Cannot find function getValue in object function mergeAcross,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57152832/
我是一名优秀的程序员,十分优秀!