【发布时间】:2013-01-26 02:52:40
【问题描述】:
我在下面有一些相对简单的代码会引发错误::“无法将 NaN 转换为(类)”。
我要做的就是将一些单元格从一个地方复制到另一个地方!
谁能告诉我这段代码有什么问题?
非常感谢。
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet 1');
var values = sheet.getDataRange().getValues()
for( var row = values.length -1; row >= 0; --row )
if (values[row][5] == 'Here')
var maxRows = sheet.getMaxRows()
var startRow = (row)+1
var numRows = (maxRows)-(row)
var Range = sheet.getRange(startRow, 3, numRows, 3).getValues()
sheet.getRange(row, 3, numRows, 3).setValues(Range) // (row, column, numRows, numColumns)
}
因此,正如代码所希望显示的那样,我想将 C:E 范围内的单元格复制到 getMaxRows(),但仅将行 x 复制到 getMaxRows(),其中 x 是在 F 列中找到“Here”的行号加上 1。然后我想将其粘贴到相同的 C:E 列中,但比原来高一行(粘贴到与 F 列中的“此处”相同的行)。
任何帮助将不胜感激。感谢观看。
编辑:错误在这一行:
var Range = sheet.getRange(startRow, 3, numRows, 3).getValues()
在我的工作表中,要复制的单元格可以包括空白单元格甚至整个空白行。这会导致问题吗?
【问题讨论】:
-
你的意思是
newRange在里面吗?因为该变量从未定义。此外,它是否为您提供了引发该错误的行号? -
你好菲尔。感谢您指出了这一点。我已经编辑了问题以删除该未定义的变量。错误仍然显示,因此问题仍然存在!我还添加了错误出现的那一行。非常感谢,文
标签: google-apps-script google-sheets