- Вы хотите скопировать значения
SnapshotSpreadsheet!A2:L2
в первую пустую ячейку из строки 1 в строку 29 в столбце «А» на листе Monthly Balance Sheet
.
Еслимое понимание правильное, как насчет этой модификации?
Точки модификации:
- Чтобы завершить цикл for, используйте оператор break.
- Когда выЕсли вы хотите сравнить логическое значение, вы можете использовать
false
и true
вместо "false"
и "true"
соответственно. И в вашем случае вы также можете использовать if (result) { do something } else { do something }
, потому что значения только true
или false
.
Pattern 1:
Когда ваш скрипт изменяется,это делается следующим образом.
Модифицированный скрипт:
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var source = ss.getRange ("SnapshotSpreadsheet!A2:L2");
var destSheet = ss.getSheetByName("Monthly Balance Sheet");
for (i = 2; i < 30; i++) {
var destRange = destSheet.getRange(i - 1, 1);
var result = destRange.isBlank();
if (!result) { // Modified
var destRange = destSheet.getRange(i, 1);
} else {
break; // Modified
}
}
source.copyTo(destRange, {contentsOnly: true});
Шаблон 2:
В этом шаблоне первая пустая ячейка столбца "A" листа Monthly Balance Sheet
извлекается с помощью getDataRegion
.
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var source = ss.getRange ("SnapshotSpreadsheet!A2:L2");
var destSheet = ss.getSheetByName("Monthly Balance Sheet");
var row = destSheet.getRange("A1").getDataRegion(SpreadsheetApp.Dimension.ROWS).getNumRows() + 1;
var destRange = destSheet.getRange(row, 1);
source.copyTo(destRange, {contentsOnly: true});
Ссылки:
Если я неправильно понял ваш вопрос, и это был не тот результат, который вам нужен, прошу прощения.