Спеціальна вставка в excel

Користувачі, які постійно працюють з Excel, напевно стикалися з проблемою копіювання даних осередку і їх вставки в інші книги (листи), а саме, проблема в тому, що при копіюванні формул і функцій, виникають проблеми зсуву, та й формати осередків можуть заважати. Щоб це уникнути в Excel для цього передбачена "Спеціальна вставка", і можливо копію вставити як: "Значення", "Формули", "Формати" і т.д. Ось тільки на варіанти цієї вставки чомусь не передбачені "гарячі клавіші", а без "гарячих клавіш" дуже сповільнюється процес роботи. Я вирішив для себе проблему за допомогою макросів і зараз розповім як.

Sub ВставітьЗначАнгл ()
'Швидкий доступ: Ctrl + q
ВставітьКак 1
End Sub

Sub ВставітьЗначРус ()
'Швидкий доступ: Ctrl + й
ВставітьКак 1
End Sub

Sub ВставітьФормулаАнгл ()
'Швидкий доступ: Ctrl + e
ВставітьКак 2
End Sub

Sub ВставітьФормулаРус ()
'Швидкий доступ: Ctrl + у
ВставітьКак 2
End Sub

Процедури "ВставкаЗначАнгл" і "ВставкаЗначРус" вставляють скопійоване осередок як значення.
Процедури "ВставкаФормулаАнгл" і "ВставкаФормулаАнгл" вставляють як формули.

id - ідентифікатор команди, який вказує як необхідно вставити (1 Значення, 2 - Формули.)

Увага: Якщо не передбачити перевірку копіювання комірки, то при відсутності скопійованих осередків, виконання макросу завершиться помилкою.

Якщо є скопійовані комірки, то Select Case id:

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

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

У процедурах "ВставкаЗначАнгл", "ВставкаЗначРус", "ВставкаФормулаАнгл" і "ВставкаФормулаАнгл" відбувається виклик процедури ВставітьКак із зазначенням в ній ідентифікатора команди 1 або 2.

Спеціальна вставка в excel

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

Спеціальна вставка в excel

у вікні, там де "поєднання клавіш", вказуємо "q". Тиснемо "ОК". Потім дамо клавішу "й" для "ВставкаЗначРус".

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

Просто в Excel, поєднання CTRL з однієї і тієї ж клавішею, але в різних розкладках (RU, EN), чомусь відрізняються. Тому, для того щоб вставка сталася при будь-якій розкладці клавіатури, і зроблено по два макроси з присвоєними їм клавішами в різній розкладці.

Усе! Тепер можете випробувати роботу макросів.

Для того щоб макроси працювали при запуску Excel у всіх книгах я підключив їх як "Надбудову". Щоб це зробити необхідно:
Зберегти нашу книгу "Вставка.xls", в формат надбудови - "Файл-> Зберегти як", в списку тип файлу вибрати "Надбудова Microsoft Office Excel (* .xla)"

Спеціальна вставка в excel

Потім, в Excel необхідно відкрити вікно "Надбудови" (Сервіс> Над будівництва.)
Клацнути "Огляд" і вибрати збережену нами надбудову "Вставка.xla". У списку повинна з'явиться нова надбудова "Вставка", якщо не стоїть галочка, то відзначте її. Тиснемо ОК.

Спеціальна вставка в excel