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