Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как добавить строки с форматированием, что и у предыдущих - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Как добавить строки с форматированием, что и у предыдущих
Kashimirush Дата: Четверг, 03.10.2019, 14:21 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
Всем привет!
Никто не знает , как в таблицах гугл добавлять новые строки с сохранением форматирования.
Речь о добавлении строк, когда изначально заданный диапазон закончился и есть нужда добавить еще 100-1000 строк, но формат в них (формат чисел/штриховка/границы и т.д.) не сохраняются.


Работа, работа, перейди на Федота...
 
Ответить
СообщениеВсем привет!
Никто не знает , как в таблицах гугл добавлять новые строки с сохранением форматирования.
Речь о добавлении строк, когда изначально заданный диапазон закончился и есть нужда добавить еще 100-1000 строк, но формат в них (формат чисел/штриховка/границы и т.д.) не сохраняются.

Автор - Kashimirush
Дата добавления - 03.10.2019 в 14:21
Gustav Дата: Понедельник, 07.10.2019, 14:36 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2809
Репутация: 1184 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Такую команду, чтобы прямо всё одним щелчком, лично я не знаю. Но скрипт такой можно написать (или даже записать макрорекордером).

С другой стороны, не так и много действий нужно, чтобы организовать форматирование новых строк через обычный интерфейс.

Например, если последняя строка пустая по данным, но с установленным форматом, то можно добавить 100 строк при помощи нижней кнопки "Добавить", затем выделить отформатированную строку, ухватить ее мышкой за маркер в правом нижнем углу и протянуть вниз до конца таблицы.

Либо (и так обычно делаю я) с помощью такой последовательности действий:
1. Выделяем всю последнюю (отформатированную) строку - мышкой слева или при помощи клавиш Shift+Пробел
2. Мышкой жмём нижнюю кнопку "Добавить" (строки внизу: 100)
3. Мышкой на верхнем тулбаре жмем пиктограмму "Копировать форматирование" (малярный валик)
4. Клавишами жмём комбинацию Shift+Ctrl+СтрелкаВниз
5. Вуаля!


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеТакую команду, чтобы прямо всё одним щелчком, лично я не знаю. Но скрипт такой можно написать (или даже записать макрорекордером).

С другой стороны, не так и много действий нужно, чтобы организовать форматирование новых строк через обычный интерфейс.

Например, если последняя строка пустая по данным, но с установленным форматом, то можно добавить 100 строк при помощи нижней кнопки "Добавить", затем выделить отформатированную строку, ухватить ее мышкой за маркер в правом нижнем углу и протянуть вниз до конца таблицы.

Либо (и так обычно делаю я) с помощью такой последовательности действий:
1. Выделяем всю последнюю (отформатированную) строку - мышкой слева или при помощи клавиш Shift+Пробел
2. Мышкой жмём нижнюю кнопку "Добавить" (строки внизу: 100)
3. Мышкой на верхнем тулбаре жмем пиктограмму "Копировать форматирование" (малярный валик)
4. Клавишами жмём комбинацию Shift+Ctrl+СтрелкаВниз
5. Вуаля!

Автор - Gustav
Дата добавления - 07.10.2019 в 14:36
Kashimirush Дата: Понедельник, 07.10.2019, 15:18 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
Gustav, Да, стандартными инструментами не сложно, но таблицей пользуется большое количество людей, и некоторым просто пофиг, а бегать по таблицам просматривать кто, где забыл, и форматировать за них не оч хочется, как-то хочется автоматизировать этот процесс.


Работа, работа, перейди на Федота...
 
Ответить
СообщениеGustav, Да, стандартными инструментами не сложно, но таблицей пользуется большое количество людей, и некоторым просто пофиг, а бегать по таблицам просматривать кто, где забыл, и форматировать за них не оч хочется, как-то хочется автоматизировать этот процесс.

Автор - Kashimirush
Дата добавления - 07.10.2019 в 15:18
Gustav Дата: Понедельник, 07.10.2019, 20:16 | Сообщение № 4
Группа: Админы
Ранг: Участник клуба
Сообщений: 2809
Репутация: 1184 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
но таблицей пользуется большое количество людей, и некоторым просто пофиг

Ну, раз так всё печально - держите скрипт!:
[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).


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Вторник, 08.10.2019, 20:07
 
Ответить
Сообщение
но таблицей пользуется большое количество людей, и некоторым просто пофиг

Ну, раз так всё печально - держите скрипт!:
[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
Дата добавления - 07.10.2019 в 20:16
Kashimirush Дата: Среда, 09.10.2019, 09:41 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
  rowLast.copyTo(rowsNew, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);

А можно эту строку прописать так, чтобы она еще и формулы протянула из последних ячеек?


Работа, работа, перейди на Федота...
 
Ответить
Сообщение
  rowLast.copyTo(rowsNew, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);

А можно эту строку прописать так, чтобы она еще и формулы протянула из последних ячеек?

Автор - Kashimirush
Дата добавления - 09.10.2019 в 09:41
Gustav Дата: Среда, 09.10.2019, 12:05 | Сообщение № 6
Группа: Админы
Ранг: Участник клуба
Сообщений: 2809
Репутация: 1184 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
чтобы она еще и формулы протянула

Надо еще раз выполнить копирование, только уже с другим значением перечисления (enum) CopyPasteType, а именно PASTE_FORMULA. Для этого добавьте следующую строку в конец скрипта, вслед за строкой, копирующей формат:
[vba]
Код
...
    rowLast.copyTo(rowsNew, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);
    rowLast.copyTo(rowsNew, SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);
}
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
чтобы она еще и формулы протянула

Надо еще раз выполнить копирование, только уже с другим значением перечисления (enum) CopyPasteType, а именно PASTE_FORMULA. Для этого добавьте следующую строку в конец скрипта, вслед за строкой, копирующей формат:
[vba]
Код
...
    rowLast.copyTo(rowsNew, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false);
    rowLast.copyTo(rowsNew, SpreadsheetApp.CopyPasteType.PASTE_FORMULA, false);
}
[/vba]

Автор - Gustav
Дата добавления - 09.10.2019 в 12:05
Kashimirush Дата: Среда, 09.10.2019, 12:15 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 240
Репутация: 41 ±
Замечаний: 0% ±

Excel 2010
Gustav, Отлично, спасибо! hands


Работа, работа, перейди на Федота...
 
Ответить
СообщениеGustav, Отлично, спасибо! hands

Автор - Kashimirush
Дата добавления - 09.10.2019 в 12:15
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!