Всем привет! Никто не знает , как в таблицах гугл добавлять новые строки с сохранением форматирования. Речь о добавлении строк, когда изначально заданный диапазон закончился и есть нужда добавить еще 100-1000 строк, но формат в них (формат чисел/штриховка/границы и т.д.) не сохраняются.
Всем привет! Никто не знает , как в таблицах гугл добавлять новые строки с сохранением форматирования. Речь о добавлении строк, когда изначально заданный диапазон закончился и есть нужда добавить еще 100-1000 строк, но формат в них (формат чисел/штриховка/границы и т.д.) не сохраняются.Kashimirush
Такую команду, чтобы прямо всё одним щелчком, лично я не знаю. Но скрипт такой можно написать (или даже записать макрорекордером).
С другой стороны, не так и много действий нужно, чтобы организовать форматирование новых строк через обычный интерфейс.
Например, если последняя строка пустая по данным, но с установленным форматом, то можно добавить 100 строк при помощи нижней кнопки "Добавить", затем выделить отформатированную строку, ухватить ее мышкой за маркер в правом нижнем углу и протянуть вниз до конца таблицы.
Либо (и так обычно делаю я) с помощью такой последовательности действий: 1. Выделяем всю последнюю (отформатированную) строку - мышкой слева или при помощи клавиш Shift+Пробел 2. Мышкой жмём нижнюю кнопку "Добавить" (строки внизу: 100) 3. Мышкой на верхнем тулбаре жмем пиктограмму "Копировать форматирование" (малярный валик) 4. Клавишами жмём комбинацию Shift+Ctrl+СтрелкаВниз 5. Вуаля!
Такую команду, чтобы прямо всё одним щелчком, лично я не знаю. Но скрипт такой можно написать (или даже записать макрорекордером).
С другой стороны, не так и много действий нужно, чтобы организовать форматирование новых строк через обычный интерфейс.
Например, если последняя строка пустая по данным, но с установленным форматом, то можно добавить 100 строк при помощи нижней кнопки "Добавить", затем выделить отформатированную строку, ухватить ее мышкой за маркер в правом нижнем углу и протянуть вниз до конца таблицы.
Либо (и так обычно делаю я) с помощью такой последовательности действий: 1. Выделяем всю последнюю (отформатированную) строку - мышкой слева или при помощи клавиш Shift+Пробел 2. Мышкой жмём нижнюю кнопку "Добавить" (строки внизу: 100) 3. Мышкой на верхнем тулбаре жмем пиктограмму "Копировать форматирование" (малярный валик) 4. Клавишами жмём комбинацию Shift+Ctrl+СтрелкаВниз 5. Вуаля!Gustav
Gustav, Да, стандартными инструментами не сложно, но таблицей пользуется большое количество людей, и некоторым просто пофиг, а бегать по таблицам просматривать кто, где забыл, и форматировать за них не оч хочется, как-то хочется автоматизировать этот процесс.
Gustav, Да, стандартными инструментами не сложно, но таблицей пользуется большое количество людей, и некоторым просто пофиг, а бегать по таблицам просматривать кто, где забыл, и форматировать за них не оч хочется, как-то хочется автоматизировать этот процесс.Kashimirush
но таблицей пользуется большое количество людей, и некоторым просто пофиг
Ну, раз так всё печально - держите скрипт!: [vba]
Код
function onOpen() {
try { // обработка на случай запуска через триггер (без интерфейса) var ui = SpreadsheetApp.getUi(); } catch(e) { return; }
var menu = ui.createMenu('Наше меню') .addItem('Добавить новые отформатированные строки', 'addFormattedRows') .addToUi(); }
function addFormattedRows() { var addRows = 100; var ss = SpreadsheetApp.getActive(); var sheet = ss.getActiveSheet(); var maxRow = sheet.getMaxRows(); sheet.insertRowsAfter(maxRow, addRows); var rowLast = sheet.getRange(maxRow+':'+maxRow); var rowsNew = rowLast.offset(1, 0, addRows); rowLast.copyTo(rowsNew, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false); };
[/vba] При открытии файла добавляется пункт верхнего меню "Наше меню", содержащее единственный пункт. Скрипт добавляет новые отформатированные строки в конец рабочего листа, активного в данный момент. Разумеется, можете всё переименовать как хотите и изменить кол-во добавляемых строк (сейчас 100).
но таблицей пользуется большое количество людей, и некоторым просто пофиг
Ну, раз так всё печально - держите скрипт!: [vba]
Код
function onOpen() {
try { // обработка на случай запуска через триггер (без интерфейса) var ui = SpreadsheetApp.getUi(); } catch(e) { return; }
var menu = ui.createMenu('Наше меню') .addItem('Добавить новые отформатированные строки', 'addFormattedRows') .addToUi(); }
function addFormattedRows() { var addRows = 100; var ss = SpreadsheetApp.getActive(); var sheet = ss.getActiveSheet(); var maxRow = sheet.getMaxRows(); sheet.insertRowsAfter(maxRow, addRows); var rowLast = sheet.getRange(maxRow+':'+maxRow); var rowsNew = rowLast.offset(1, 0, addRows); rowLast.copyTo(rowsNew, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false); };
[/vba] При открытии файла добавляется пункт верхнего меню "Наше меню", содержащее единственный пункт. Скрипт добавляет новые отформатированные строки в конец рабочего листа, активного в данный момент. Разумеется, можете всё переименовать как хотите и изменить кол-во добавляемых строк (сейчас 100).Gustav
Надо еще раз выполнить копирование, только уже с другим значением перечисления (enum) CopyPasteType, а именно PASTE_FORMULA. Для этого добавьте следующую строку в конец скрипта, вслед за строкой, копирующей формат: [vba]
Надо еще раз выполнить копирование, только уже с другим значением перечисления (enum) CopyPasteType, а именно PASTE_FORMULA. Для этого добавьте следующую строку в конец скрипта, вслед за строкой, копирующей формат: [vba]