Данный макрос позволяет вставить данные из одного листа на другой.

Макрос копирует только значения ячейки, связь между ячейками и листами не сохраняется.

Пример макроса:

(function ()
{
// Getting the active sheet
var activeSheet = Api.ActiveSheet;
// Minimum row index
var indexRowMin = 0;
// Maximum row index
var indexRowMax = 1048576;
// Column
var indexCol = 1;
// Row index for empty cell search
var indexRow = indexRowMax;
for (; indexRow >= indexRowMin; --indexRow) {
// Getting the cell
var range = activeSheet.GetRangeByNumber(indexRow, indexCol);
// Checking the value
if (range.GetValue() && indexRow !== indexRowMax) {
range = activeSheet.GetRangeByNumber(indexRow + 1, indexCol);
range.Select();
break;
}
}
var oWorksheet1 = Api.GetSheet("Лист2");
var oRange1 = oWorksheet1.GetRange("B2:D5").GetValue();
var oWorksheet = Api.GetActiveSheet();
for(var ik = 0; ik < oRange1[ik].length; ik++) {
for(var z = 0; z < oRange1.length; z++) {
oWorksheet.GetRangeByNumber(indexRow+1+z, ik+indexCol).SetValue(oRange1[z][ik]);
}
}

})();

Для вставки диапазона вам нужно:

1. Выберите ячейку для вставки диапазона данных

Вставить диапазон данных с одного листа на другой

2. Перейдите в пункт меню «Макросы» и вставьте пример кода макроса.

Вставить диапазон данных с одного листа на другой

3. Выберите лист, с которого будет копироваться диапазон. Его нужно указать в строке 23 макроса.

Вставить диапазон данных с одного листа на другой

4. Укажите диапазон для копирования. Строка 24 макроса.

Вставить диапазон данных с одного листа на другой

5. Нажмите кнопку «Выполнить». Результатом будет вставка данных.

Вставить диапазон данных с одного листа на другой