Як застосувати VBA PasteSpecial і зберегти вихідне форматування в Excel

  • Поділитися Цим
Hugh West

Однак бувають ситуації, коли ми хочемо скопіювати більше, ніж просто текст. Ми можемо скопіювати всі можливості Excel, такі як умовне форматування, перевірка даних, форматування за типом даних та естетичні функції, такі як межі та кольори комірок. Можливо, ви захоплюєтеся кольоровою гамою вашого колеги, але вам потрібні статичні дані, або, можливо, формули фантастичні, але вам не подобається колірна гамма.У цьому уроці ми покажемо VBA PasteSpecial і зберегти вихідне форматування в Excel.

Завантажити Практичний посібник

Завантажте цей практичний посібник, щоб потренуватися, поки ви читаєте цю статтю.

VBA PasteSpecial.xlsm

4 простих приклади застосування VBA PasteSpecial та збереження вихідного форматування в Excel

Ми продемонструємо чотири приклади використання спеціальної пасти в VBA зі збереженням вихідного формату в розділах нижче. Ось зразок набору даних, який ми будемо використовувати для копіювання та вставки.

1. додайте поле введення за допомогою VBA PasteSpecial та збережіть вихідне форматування в Excel

Перше і найголовніше: ми будемо використовувати поле для виділення діапазону, а потім вставимо його в іншу комірку. Для цього виконаємо наступні кроки.

Крок 1:

  • По-перше, натисніть Alt + F11 щоб розпочати Макрос .
  • Потім натисніть на кнопку Вставте, обирайте Модуль варіант.

Крок 2:

  • Вставте наступний VBA-код.
 Sub PasteSpecialKeepFormat() 'оголосити CopyCell та PasteCell як змінні діапазону Dim CopyCell As Range, PasteCell As Range 'присвоїти ім'я полі вводу xTitleId = "ExcelWIKI" 'встановити діапазон для копіювання, який буде вибиратись з робочого аркуша Set CopyCell = Application.Selection 'встановити поле вводу, з якого буде братись діапазон для копіювання Set CopyCell = Application.InputBox("Select Range to Copy :", xTitleId, CopyCell.Address,Type:=8) 'Встановлення поля вводу, в яке буде взято діапазон для вставки PasteCell = Application.InputBox("Вставити в будь-яку порожню комірку:", xTitleId, Type:=8) 'Команда копіювання виділеного діапазону CopyCell.Copy 'Команда вставки діапазону PasteCell.Parent.Activate 'Команда збереження вихідного форматування комірок, що вставляються PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

Крок 3:

  • Зберегти програму та натисніть F5 щоб керувати ним.
  • Після того, як з'явився 'ExcelWIKI' виберіть діапазон $B$4:$C$11 .
  • Натисніть ГАРАЗД. .

Крок 4:

  • Виберіть будь-яку порожню комірку для вставки.
  • Потім натисніть ГАРАЗД.

  • Таким чином, ви отримаєте значення вставки, зберігши формат незмінним.

Читати далі: Різниця між вставкою та спеціальною вставкою в Excel

2. Застосуйте VBA PasteSpecial для виділення діапазону та збереження вихідного форматування в Excel

В VBA Ви також можете вказати діапазони та скопіювати і вставити їх, зберігаючи вихідне форматування. Для цього виконайте наведені нижче кроки.

Крок 1:

  • Преса Alt + F11 відкрити Макрос .
  • Створіть новий модуль з розділу Вставка
  • Просто вставте наступне VBA код діапазону B4:C11 .
 Sub pasteSpecial_KeepFormat() 'виділити діапазон для копіювання Range("B4:C11").Copy 'виділити комірку для вставки 'Команда для pasteSpecial зі збереженням формату Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Крок 2:

  • Нарешті, збережіть програму і натисніть F5 Після цього ви побачите зміни, як показано на зображенні нижче.

Читати далі: Спеціальна вставка VBA для копіювання значень і форматів в Excel (9 прикладів)

Схожі читання

  • Код на VBA для порівняння двох таблиць Excel та копіювання відмінностей
  • Excel VBA: копіювання значення комірки та вставка в іншу комірку
  • Як скопіювати кілька комірок на інший аркуш в Excel (9 способів)
  • Excel VBA: копіювання діапазону в іншу книгу
  • [Виправлено]: Копіювання та вставка правою кнопкою миші не працює в Excel (11 рішень)

3. оголосити змінну за допомогою VBA PasteSpecial та зберегти вихідне форматування в Excel

Оголошуючи змінні та встановлюючи змінні в різні діапазони, виконайте наведені нижче дії, щоб вставитиSpecial в VBA .

Крок 1:

  • Перш за все, преса Alt + F11 відкрити Макрос VBA .
  • Виберіть новий Модуль .
  • Потім вставте наступне Код VBA .
 Sub Copy_Paste_Special() 'Оголосити змінні Dim copy_Rng As Range, Paste_Range As Range 'Команда копіювання діапазону Set copy_Rng = Range("B4:C11") 'Команда вставки діапазону Set Paste_Range = Range("E4") copy_Rng.Copy 'Команда вставки в pasteSpecial зі збереженням формату Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Крок 2:

  • Після збереження програми натисніть F5 бігти.
  • Таким чином, скопійований вами діапазон буде вставлено зі збереженням вихідного форматування, як і раніше.

Читати далі: Як використовувати VBA PasteSpecial для формул і форматів в Excel (3 способи)

4. використання спеціальної вставки VBA PasteSpecial та збереження вихідного форматування на різних аркушах в Excel

У цій частині ми поговоримо про дуже важливий метод. Тому що ми розглянемо, як використовувати PasteSpecial в VBA в декількох книгах. Наприклад, ми скопіюємо з "Лист 4 і вставити його в "Лист 5 ," як показано в наведених нижче кроках.

Крок 1:

  • Відкрити Макрос VBA натисніть Alt + F11
  • Від Вставка виберіть вкладку Модуль.
  • Потім вставте наступне VBA.
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Оголосити змінні Dim copyRng As Worksheet Dim pasteRng As Worksheet 'встановити призначення діапазону для змінної Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") 'встановити призначення вставлених комірок 'Для комірки E4, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.count, 5).End(xlUp).Offset(3, 0)'Команда для копіювання діапазону copyRng.Range("B4:C11").Copy 'Команда для вставки діапазону Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Крок 2:

  • Для запуску програми натисніть F5 після збереження програми.
  • Таким чином, ви отримаєте вставлене значення в аркуш 5 зі збереженням вихідного формату.

Читати далі: Як використовувати спеціальну команду "Вставити" в Excel (5 підходящих способів)

Висновок

Підводячи підсумок, сподіваюся, тепер ви знаєте, як користуватися Excel VBA Вставити спеціальне форматування Зберегти джерело. Всі ці стратегії слід застосувати до ваших даних і звикнути до них. Вивчіть практичний посібник і застосовуйте вивчене. Ми мотивовані продовжувати проводити подібні лекції завдяки вашій важливій підтримці.

Якщо у Вас виникли запитання, будь ласка, звертайтеся до нас. Будь ласка, поділіться своїми думками у полі для коментарів нижче.

На ваші запитання в найкоротші терміни відповість Ексельдемія персонал.

Залишайтеся з нами і продовжуйте вчитися.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.