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

Данная команда копирует все форматирование из исходного диапазона, в том числе форматы, границы, условное форматирование, объединение ячеек.
Как правило формат по образцу используется следующим образом:
- Выделяется ячейка, формат которой необходимо скопировать
- На вкладке Главная с помощью команды Формат по образцу копируется формат данной ячейки. При этом рядом с курсором появляется значок кисточки.
- Мышкой выделяется диапазон ячеек к которому необходимо применить форматирование исходной ячейки.

Приемы применения форматирования по образцу
- Можно копировать формат как одной так и нескольких ячеек. Форматирование применяется у диапазону такого же размера, что и исходный диапазон.
- Форматирование можно применять к целым строкам или столбцам. Выделите столбец/строку, нажмите формат по образцу, а после выберите столбец/строку к которому необходимо применить формат.
- Формат по образцу можно применять и для очистки форматов. Для этого выделите ячейки, которые не содержат форматирования, вызовите команду формат по образцу и укажите диапазон в котором хотите удалить форматирование.
- Если дважды кликнуть левой кнопкой мыши по команде Формат по образцу, то режим копирования зафиксируется и вы можете скопировать формат в несколько диапазонов. Чтобы завершить форматирование нажмите клавишу Esc или повторно нажмите на команду Формат по образцу.
- Копировать форматирование можно не только у диапазонов, но и других объектов: рисунки, фигуры, диаграммы.
Создаем горячую клавишу на вставку форматирования
Можно конечно вынести кнопку Формат по образцу на панель быстрого доступа, но это не избавит нас от необходимости пользоваться мышкой при выборе диапазона к которому необходимо применить форматирование.
Гораздо удобнее скопировать формат например сочетанием клавиш Ctrl + C, выбрать нужный диапазон и вставить в него скопированное форматирование например, сочетанием клавиш Ctrl + Shift + V.
Чтобы так сделать, нам понадобится написать небольшой макрос. Вот его код:
'************************************************************** ' Sub : PasteFormat ' Author : Желтов Алексей ' Date : 11.06.2017 ' Purpose : Вставка формата по образцу '************************************************************** Sub PasteFormat() If Application.CutCopyMode = False Then _ MsgBox "Необходимо предварительно скопировать форматирование нажав Ctrl+C", vbOKOnly Or vbInformation, "Скопируйте формат": Exit Sub Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False End Sub
Скопируйте код выше и вставьте его себе файл или в персональную книгу макросов.
После этого останется добавить горячую клавишу на выполнение данной команды. Для этого:
- На вкладке меню Вид, раскройте меню Макросы и выберите команду Макросы (или нажмите сочетание клавиш Alt + F8)
- В диалоговом окне Макросы найдите только что добавленную процедуру PasteFormat и нажмите кнопку Параметры.

- В следующем диалоговом окне задайте сочетание клавиш для вызова данной функции. Например зажмите клавишу Shift и клавишу V. После нажмите клавишу OK.

Как пользоваться горячей клавишей
Теперь, когда мы создали горячую клавишу посмотрим как ей пользоваться.
- Выберите диапазон, и скопируйте формат, нажав сочетание клавиш Ctrl + C.
- Выберите диапазон, в который необходимо вставить только формат.
- Нажмите сочетание клавиш Ctrl + Shift + V.
Теперь нет необходимости заново копировать формат, можете выбирать следующий диапазон и вставлять форматирование в него.
Как скопировать формат ячейки в excel
Сообщений: 145 Регистрация: 24.12.2012
23.05.2013 19:20:33
Есть ещё пара вариантов:
1. F4 — повторяет последнее действие. То есть, покрасили одну ячейку с помощью мышки, а остальные с помощью F4.
2. Вывести Заливку на панель быстрого доступа первой (доступно в Excel 2007,2010), тогда при нажатии последовательности ALT, 1 , можно выбрать цвет. Не очень удобно, но хотя бы переключаться между закладками не придётся.
Пользователи, как школьники, учиться хотят далеко не все, а отличниками становятся единицы.
Проблема — это ситуация, в решении которой человек не заинтересован.
покупка
Как скопировать формат ячейки из одной ячейки (одного листа) в другую ячейку (лист)?
В некоторых случаях вам может потребоваться скопировать только один формат ячейки, который вы уже указали, в ячейки другого листа без содержимого ячейки, как вы можете быстро справиться с этой задачей? В этой статье я расскажу о двух способах копирования всего формата ячейки или только части формата ячейки из одной конкретной ячейки в другую ячейку.
Скопируйте часть формата ячейки из одной ячейки в другую с помощью Копировать форматирование ячейки
Скопируйте весь формат ячейки из одной ячейки в другую с помощью Format Painter
Format Painter может копировать определенный формат ячейки в ячейку или диапазоны.

1. Выберите ячейку, содержащую формат, который вы хотите использовать, щелкните Главная > Формат Painter.

2. Затем курсор изменится на кисть, выберите ячейки, которые вы хотите закрасить в определенный формат ячеек.
Скопируйте часть формата ячейки из одной ячейки в другую с помощью Копировать форматирование ячейки
Но если вы просто хотите скопировать часть определенного формата ячейки в ячейки, Format Painter вам не поможет. В этом случае Copy Cell Formatting полезности Kutools for Excel может оказать вам услугу.
После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

1. Выберите ячейку, в которой вы хотите использовать ее часть формата, нажмите Kutools > Формат > Copy Cell Formatting .

2. Затем в Copy Cell Formatting В диалоговом окне перечислены все типы форматирования ячейки, вы можете проверить форматы, которые хотите использовать в диалоговом окне.

3. Нажмите Ok, появится диалоговое окно, напоминающее вам о выборе ячеек для применения форматов.

4. Нажмите OK, теперь ячейки были отформатированы с использованием части формата, основанного на конкретной ячейке.
Как скопировать формат ячейки в excel
Всем доброго времени суток.
Итак, уверен, распространённая проблема, но универсального решения так и не нашёл.
Есть файл excel, подготовленный для заполнения неискушёнными сотрудниками. Этим сотрудникам сложно объяснить, что при копирование любой нужной информации с интернета комбинацией CTRL+C и затем вставка в нужную ячейку CTRL+V меняет желанный формат ячейки, что приводит впоследствии к полнейшей вакханалии в заполняемом файле.
Ещё сложнее объяснить, что чтобы этого избежать, нужно при вставке использовать «вставить значения», либо копировать нужный текст не тупо в ячейку, а в поле её формулы.
Короче, задача сделать так, чтобы условно «бабушки» могли без заморочек пользоваться привычной механикой CTRL+C/CTRL+V и при этом файл не превращался в ад перфекциониста.
Пытался поиграться с функцией защитить лист, там есть много опций, что можно делать на защищённом листе, но вот почему-то опции именно «вносить данные» там нет:)
Если убрать у всех ячеек «защищаемая ячейка» в формате, то на эти ячейки вообще не распространяется защита, чтобы ты в опциях не выбирал, поэтому тоже бесполезно.
Я так понимаю, это сейчас решается только макросами на VBA, но я в них не силён, а все, что встречал, написано для каких-то конкретных условий.
Есть ли какой-нибудь простенький универсальный макрос, который просто запрещает менять формат ячеек на всём листе при вставке?
Фаил для примера прикладываю.
Прикрепленные файлы
- пример.xlsx (23.39 КБ)
Пользователь
Сообщений: 1065 Регистрация: 01.01.1970
03.03.2018 15:00:02
В модуль листа:
Private Sub Worksheet_Change(ByVal Target As Excel.Range) Dim aa If Target.Count > 0 Then With Application .EnableEvents = False aa = .Calculation .ScreenUpdating = False .Calculation = xlCalculationManual .Undo Target.PasteSpecial Paste:=xlPasteValues .ScreenUpdating = True .Calculation = aa .EnableEvents = True End With End If End Sub
Пользователь
Сообщений: 11907 Регистрация: 22.12.2012
Excel 2016, 365
03.03.2018 15:09:44
Доброе время суток.
Anchoret, с одной стороны — формулы массово не введёшь, с другой — можно же и одну ячейку что-попало вставить, учитывая ограничение If Target.Count > 0
Ещё, вариант, на том же приёме от Владимира (ZVI).
Private Function hasFormulas(ByVal source As Range) As Boolean On Error GoTo errHandle hasFormulas = source.SpecialCells(xlCellTypeFormulas).Count > 0 Exit Function errHandle: hasFormulas = False End Function Private Sub Worksheet_Change(ByVal Target As Range) If Not hasFormulas(Target) Then Dim vData vData = Target.Value Application.EnableEvents = False Application.Undo Target.Value = vData Application.EnableEvents = True End If End Sub
