Здравствуйте помогите написать макрос который будет выполнять функцию importrange, и добавлять данные из одной таблиц в другую. Т.к. сама функция importrange не всегда работает корректно и обновляется всегда онлайн, что сказывается на скорости таблицы, а мне обновление достаточно раз в сутки, таблица уже достаточно большая, чтобы использовать importrange было не комфортно. Как пример из таблицы 1:
Здравствуйте помогите написать макрос который будет выполнять функцию importrange, и добавлять данные из одной таблиц в другую. Т.к. сама функция importrange не всегда работает корректно и обновляется всегда онлайн, что сказывается на скорости таблицы, а мне обновление достаточно раз в сутки, таблица уже достаточно большая, чтобы использовать importrange было не комфортно. Как пример из таблицы 1:
Kashimirush, - Прочитайте Правила форума - Исправьте название темы согласно п.2 Правил форума, конкретнее обозначьте проблему - Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форума
Kashimirush, - Прочитайте Правила форума - Исправьте название темы согласно п.2 Правил форума, конкретнее обозначьте проблему - Приложите файл с исходными данными и желаемым результатом (можно вручную) в формате Excel размером до 100кб согласно п.3 Правил форумакитин
Не судите очень строго:я пытаюсь научиться ЯД 41001877306852
function myScriptedImportRange( ) { var key = "PUT YOUR DATA_SPREADSHEET_ID IN HERE" var sheetrange = "PUT YOUR SHEET AND CELL RANGE IN HERE" var shra = sheetrange.split("!") ; if (shra.length==1) shra[1]=shra[0], shra[0]="";
function myScriptedImportRange( ) { var key = "PUT YOUR DATA_SPREADSHEET_ID IN HERE" var sheetrange = "PUT YOUR SHEET AND CELL RANGE IN HERE" var shra = sheetrange.split("!") ; if (shra.length==1) shra[1]=shra[0], shra[0]="";
Нашел 2 рабочих варианта 1.Копирует все данные с одного листа из исходной таблицы в целевую, скрипт пишется и выполняется в целевой таблице (в которую нужно вставлять данные)
2.Использует библиотеку гугл скрипт (CopierT.), можно настроить диапазон копируемых ячеек. Скрипт пишется в исходной таблице, и позволяет копировать данные сразу в несколько целевых таблиц.
Оба варианта рабочие, в первом минус , не нашел как ограничить диапазон копируемых ячеек, во втором работа будет зависеть от библиотеки, если её прикроют или будут использовать для Мошеннических (если это возможно, я не программист ХЗ) целей то никто не дает гарантии.
Нашел 2 рабочих варианта 1.Копирует все данные с одного листа из исходной таблицы в целевую, скрипт пишется и выполняется в целевой таблице (в которую нужно вставлять данные)
2.Использует библиотеку гугл скрипт (CopierT.), можно настроить диапазон копируемых ячеек. Скрипт пишется в исходной таблице, и позволяет копировать данные сразу в несколько целевых таблиц.
Оба варианта рабочие, в первом минус , не нашел как ограничить диапазон копируемых ячеек, во втором работа будет зависеть от библиотеки, если её прикроют или будут использовать для Мошеннических (если это возможно, я не программист ХЗ) целей то никто не дает гарантии.Kashimirush
Работа, работа, перейди на Федота...
Сообщение отредактировал Kashimirush - Понедельник, 19.08.2019, 14:20
function Copy() { // Открываем доступ к таблице исходнику откуда будем копировать указываем ключ var sss = SpreadsheetApp.КЛЮЧТАБЛИЦЫ'); // Указываем нужный лист из исходника var ss = sss.getSheetByName('ИМЯ ЛИСТА'); // Получаем данные из указанного листа var SRange = ss.getRange('A2:J'+ ss.getLastRow().toString()); // Определяем диапазон копируемых данных var A1Range = SRange.getA1Notation(); // Определяем данные из указанного диапазона var SData = SRange.getValues(); // Указываем ключ текущей таблицы куда нужно копировать данные var sheet = SpreadsheetApp.getActive(); // Указываем целевой лист куда вставлять данные var ts = sheet.getSheetByName('ИМЯЛИСТА'); // Чистим страницу перед вставкой данных ts.clear({contentsOnly: true}); // Вставляем нужные данные ts.getRange(A1Range).setValues(SData); };
function Copy() { // Открываем доступ к таблице исходнику откуда будем копировать указываем ключ var sss = SpreadsheetApp.КЛЮЧТАБЛИЦЫ'); // Указываем нужный лист из исходника var ss = sss.getSheetByName('ИМЯ ЛИСТА'); // Получаем данные из указанного листа var SRange = ss.getRange('A2:J'+ ss.getLastRow().toString()); // Определяем диапазон копируемых данных var A1Range = SRange.getA1Notation(); // Определяем данные из указанного диапазона var SData = SRange.getValues(); // Указываем ключ текущей таблицы куда нужно копировать данные var sheet = SpreadsheetApp.getActive(); // Указываем целевой лист куда вставлять данные var ts = sheet.getSheetByName('ИМЯЛИСТА'); // Чистим страницу перед вставкой данных ts.clear({contentsOnly: true}); // Вставляем нужные данные ts.getRange(A1Range).setValues(SData); };