Данный макрос позволяет вставить данные из одного листа на другой.
Макрос копирует только значения ячейки, связь между ячейками и листами не сохраняется.
Пример макроса:
(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. Нажмите кнопку «Выполнить». Результатом будет вставка данных.
Была ли полезна статья?





