【发布时间】:2021-04-14 04:43:38
【问题描述】:
每次在第 N 列中看到空白单元格时,我想用 For 循环重复一段代码。
我正在尝试下面的代码,但无法弄清楚我哪里出错了
function CopyCellBelow() {
// Get array of values in the search Range
var sheet = SpreadsheetApp.getActive();
var lastRow = sheet.getLastRow();
var searchRange = sheet.getRange(14,2, lastRow-1);
var rangeValues = searchRange.getValues();
for ( j = 0 ; j < lastRow - 1; j++){
if(rangeValues[j] === ""){
sheet.getRange(j+14);// Column N
sheet.getRange('N2').activate();
sheet.getRange('N3').copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
sheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
sheet.getCurrentCell().offset(1, 0).activate();
sheet.getCurrentCell().offset(1, 0).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
sheet.getRange('N2').activate();
sheet.getCurrentCell().getNextDataCell(SpreadsheetApp.Direction.DOWN).activate();
sheet.getCurrentCell().offset(1, 0).activate();
sheet.getCurrentCell().offset(1, 0).copyTo(spreadsheet.getActiveRange(), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
sheet.getRange('N1').activate();
}else if (rangeValues[j] === "if cell has data"){
//do nothing
}}};
在下图中,您可以看到黄色单元格具有预期的结果,即直接复制下面的单元格
接下来的 3 个空白单元格中应该有一个 4
【问题讨论】:
-
请重读您的解释。你的话不符合你的形象。
-
您需要学习如何在不使用激活的情况下编写代码。它缓慢而尴尬。
-
嗨 Cooper - 图片已更新。抱歉,我正在学习如何编写代码,任何帮助将不胜感激
标签: google-apps-script google-sheets