Как соединить два макроса в 1-ин в гугл- таблицах? Так, что бы одна из команд общего макроса работала в другой гугл-книге и брала данные из первой. - вопрос №5047590
Здравствуйте. Нужна помощь. Есть гугл таблица с кнопками, на которые записан макрос для изменения цвета ячейки под кнопкой (ON — желтый, OF — в зеленый цвет, так же цвет меняется и на первом листе). В этот макрос нужно прописать команду, которая позволит из имеющейся таблицы с кнопками переносить данные ячейки С3 в другую таблицу (при нажатии на кнопку ON — данные С3 появляются в другой таблице и окрашиваются в желтый, при нажатии на кнопку OF — в серый цвет). Т.е нужно соединить два макроса в 1-ин. Как это можно сделать? Подскажите пожалуйста. Таблица с кнопками — docs.google.com/spreadsheets/d/1rpzquekGqamTkjvR_6yXr6SgiVCu3M3bgTYSs10Iwe0/edit#gid=2073924395. Другая таблица — docs.google.com/spreadsheets/d/1ILWKgP2MRgAFDg7MRU6xeRYVBmYOcE0LmyHLnp7V17w/edit#gid=747610966
Вместо «Название листа с кнопками» нужно указать наименование листа, на котором находятся кнопки.
Добавляем команду openById() для открытия другой таблицы:
var targetSpreadsheet = SpreadsheetApp.openById('ID целевой таблицы'); var targetSheet = targetSpreadsheet.getSheetByName('Название листа в целевой таблице');
Вместо «ID целевой таблицы» нужно указать идентификатор целевой таблицы, а вместо «Название листа в целевой таблице» — наименование листа, на который нужно отправлять данные.
В теле макроса changeColor() нужно добавить код для отправки данных на другой лист:
function changeColor(range) { var sheet = getSheet(); var targetSpreadsheet = SpreadsheetApp.openById('ID целевой таблицы');
var targetSheet = targetSpreadsheet.getSheetByName('Название листа в целевой таблице');
Когда пользователь нажимает на кнопку, макрос changeColor() выполняет следующие действия:
Получает ссылку на лист с кнопками и данные ячейки С3.
Открывает целевую таблицу и находит нужный лист.
Если пользователь нажал на кнопку «ON», то данные ячейки С3 отправляются на целевой лист и окрашиваются в желтый цвет. Если пользователь нажал на кнопку «OF», то данные ячейки С3 также отправляются на целевой лист, но окрашиваются в серый цвет.
Макрос изменяет цвет фона кнопки и ячейки С3 в зависимости от того, какую кнопку нажал пользователь
Добрый день. Меня заинтересовал ваш ответ "Для того чтобы объединить два макроса в один, нужно внести несколько изменений в код:В начале кода н..." на вопрос http://www.liveexpert.org/topic/view/5047590-kak-soedinit-dva-makrosa-v-in-v-gugl-tablicah-tak-chto-bi-odna-iz-komand-obshego-makrosa-rabotala-v-drugoj-gugl-knige-i-brala-dannie-iz. Можно с вами обсудить этот ответ?