В Excel клавишами вставить значение

Пользователи, которые постоянно работают с Excel, наверняка сталкивались с проблемой копирования данных ячейки и их вставки в другие книги (листы), а именно, проблема в том, что при копировании формул и функций, возникают проблемы смещения, да и форматы ячеек могут мешать. Чтобы это избежать в Excel для этого предусмотрена «Специальная вставка», и возможно копию вставить как: «Значения», «Формулы», «Форматы» и т.д. Вот только на варианты этой вставки почему-то не предусмотрены «горячие клавиши», а без «горячих клавиш» очень замедляется процесс работы. Я решил для себя проблему с помощью макросов и сейчас расскажу как.

Sub ВставитьЗначАнгл()’Сочетание клавиш: Ctrl+q ВставитьКак 1End Sub

Sub ВставитьФормулаАнгл()’ Сочетание клавиш: Ctrl+e ВставитьКак 2End Sub

Private Sub ВставитьКак(id As Byte) If Application.CutCopyMode = xlCopy Then ’проверка скопированы ячейки или нет Select Case id Case 1: Selection.PasteSpecial Paste:=xlPasteValues ’вставляет в выбранную ячейку значение Case 2: Selection.PasteSpecial Paste:=xlPasteFormulas ’вставляет в выбранную ячейку формулу End Select End IfEnd Sub

Процедура «ВставитьКак (id as byte)»

Внимание: Если не предусмотреть проверку копирования ячейки, то при отсутствии скопированных ячеек, выполнение макроса завершится ошибкой.

  • если id = 1, то выполняем команду Selection.PasteSpecial Paste:=xlPasteValues (вставка значения)
  • если id = 2, то Selection.PasteSpecial Paste:= xlPasteFormulas (вставка формулы)
  • и т.д.

Для того чтоб сократить код программы, я вынес весь функционал в отдельную процедуру ВставитьКак, иначе б пришлось в каждой процедуре дублировать один и тот же код.

Закрываем редактор Visual Basic и переходим в окно управления макросами «Сервис->Макрос->Макросы...» (Alt+F8). Мы видим наши четыре макроса:

Теперь необходимо каждому макросу присвоить горячую клавишу. Запуск макросов в Excel может осуществляться с помощью комбинации «Ctrl + назначенная клавиша». Из клавиш, сочетающихся с ctrl, я нашел свободные Q(Й) и E(У). Для удобства в самый раз, нажатие левой рукой(правая с мышей) и клавиши не далеко друг от друга, вот правда сосед опасный, ctrl+w — закрывает книгу.

Для чего такое назначение клавиш?

Аналогично присвойте клавиши «e» и «у» процедурам «ВставкаФормулаАнгл» и «ВставкаФормулаАнгл».

Для того чтобы макросы работали при запуске Excel во всех книгах я подключил их как «Надстройку». Чтобы это сделать необходимо:Сохранить нашу книгу «Вставка.xls», в формат надстройки — «Файл->Сохранить как», в списке тип файла выбрать «Надстройка Microsoft Office Excel (*.xla)»

Затем, в Excel необходимо открыть окно «Надстройки» (Сервис->Надстройки...)Щелкнуть «Обзор» и выбрать сохраненную нами надстройку «Вставка.xla». В списке должна появится новая надстройка «Вставка», если не стоит галочка, то отметьте ее. Жмем ОК.

Данный макрос также работает и в более поздних версиях Excel (2007-2010). Где найти окно «Надстройки» в Excel 2007-2010 читайте в статье «Открываем панель „Разработчик“ в Excel 2010».

Прикрепленный файл: hot_special_paste.zip

Похожие статьи