Я ходил с этим часами и собирался вырвать свои волосы.
У меня есть основная электронная таблица, из которой я извлекаю данные, копирую их и вставляю в другой лист. Это делается на основе того, какие строки выбирает пользователь. Выбор отдельных строк работает должным образом, несколько строк (если смежные) также работает. Теперь я запускаю другой блок if, чтобы учесть несколько выбранных строк, которые НЕ смежны, используя этот кодовый блок:
var myRange = mySelection.getActiveRangeList().getRanges();
Browser.msgBox(myRange.length)
for ( var i = 0; i < myRange.length; i++) {
var reserveData = myRange[i].getValues();
Browser.msgBox(reserveData[i]);
}
Допустим, пользователь выбирает 4 строки для копирования. Первый MsgBox покажет длину 4. Отлично! Однако MsgBox в пределах для l oop будет отображать данные только для первой итерации l oop. 2-й, 3-й и 4-й MsgBox не содержат данных.