将单元格值移动到同一电子表格中的另一个单元格
Move Cell Value to Another Cell in Same Spreadsheet
我有一个简单的 Google 脚本,我正在尝试开始工作,但我似乎无法理解我的错误。
该函数想要在找到空单元格后将非粗体文本从电子表格的一个部分移动到另一部分。
我已经验证我可以获得值,如果值是粗体或非粗体,以及空单元格的位置,但是当我尝试移动文本时我收到此错误消息:
TypeError: Cannot find function copyTo in object AS.
我知道我的错误来自这一行:
matchedCell.getValue().copyTo((emptyCellLocation,1,1,1),{contentsOnly:true});
建议?
function moveLowerValues() {
var s = SpreadsheetApp.getActiveSheet();
// Set values for position of cells to examine
var upperRowStart = 1;
var columnStart = 1;
var upperRange = s.getRange(upperRowStart, columnStart, 10);
var upperValues = upperRange.getValues(); // Get all data in one call
var emptyCellLocation = 1;
while (upperValues[emptyCellLocation][0] != "" ) {
emptyCellLocation++;
}
var lowerRowStart = 11;
var lowerRange = s.getRange(lowerRowStart, columnStart, 10);
var lowerValues = lowerRange.getValues();
var lowerWeight = lowerRange.getFontWeights();
// Move and clear cells which are not bold
for (var rowStartOffset=0; rowStartOffset < lowerValues.length; rowStartOffset++) {
// If the value of the cell does not equal bold, move and then delete it
if (lowerWeight[rowStartOffset].toString() != "bold") {
var matchedRow = lowerRowStart + rowStartOffset;
var matchedCell = s.getRange(matchedRow, columnStart, 1, 1);
matchedCell.getValue().copyTo((emptyCellLocation,1,1,1),{contentsOnly:true});
// emptyCellLocation++
// matchedCell.clear();
}
}
// lowerRange.sort(1);
}
matchedCell.getValue()
returns 该单元格中的值:数字、字符串或类似内容。该值没有方法 copyTo
。此方法是 Range 对象所具有的东西。请改用 matchedCell.copyTo
。
此外,copyTo的第一个参数也必须是Rangeclass的对象。编写 (emptyCellLocation,1,1,1)
不会创建这样的对象。使用 getRange
方法。
我有一个简单的 Google 脚本,我正在尝试开始工作,但我似乎无法理解我的错误。
该函数想要在找到空单元格后将非粗体文本从电子表格的一个部分移动到另一部分。
我已经验证我可以获得值,如果值是粗体或非粗体,以及空单元格的位置,但是当我尝试移动文本时我收到此错误消息:
TypeError: Cannot find function copyTo in object AS.
我知道我的错误来自这一行:
matchedCell.getValue().copyTo((emptyCellLocation,1,1,1),{contentsOnly:true});
建议?
function moveLowerValues() {
var s = SpreadsheetApp.getActiveSheet();
// Set values for position of cells to examine
var upperRowStart = 1;
var columnStart = 1;
var upperRange = s.getRange(upperRowStart, columnStart, 10);
var upperValues = upperRange.getValues(); // Get all data in one call
var emptyCellLocation = 1;
while (upperValues[emptyCellLocation][0] != "" ) {
emptyCellLocation++;
}
var lowerRowStart = 11;
var lowerRange = s.getRange(lowerRowStart, columnStart, 10);
var lowerValues = lowerRange.getValues();
var lowerWeight = lowerRange.getFontWeights();
// Move and clear cells which are not bold
for (var rowStartOffset=0; rowStartOffset < lowerValues.length; rowStartOffset++) {
// If the value of the cell does not equal bold, move and then delete it
if (lowerWeight[rowStartOffset].toString() != "bold") {
var matchedRow = lowerRowStart + rowStartOffset;
var matchedCell = s.getRange(matchedRow, columnStart, 1, 1);
matchedCell.getValue().copyTo((emptyCellLocation,1,1,1),{contentsOnly:true});
// emptyCellLocation++
// matchedCell.clear();
}
}
// lowerRange.sort(1);
}
matchedCell.getValue()
returns 该单元格中的值:数字、字符串或类似内容。该值没有方法 copyTo
。此方法是 Range 对象所具有的东西。请改用 matchedCell.copyTo
。
此外,copyTo的第一个参数也必须是Rangeclass的对象。编写 (emptyCellLocation,1,1,1)
不会创建这样的对象。使用 getRange
方法。