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

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

Зміст

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

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

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

Значення та формати за допомогою PasteSpecial.xlsm

9 Приклади копіювання значень і форматів за допомогою функції вставки в Excel VBA

У цій статті ми обговоримо 9 методів з Макроси VBA до Паста спеціальна значення та формат в Excel.

Для цього ми розглянемо наведений нижче набір даних.

1. Застосування InputBox у спеціальній вставці VBA для копіювання значень та форматів

У даному прикладі ми будемо використовувати опцію InputBox для Паста спеціальна .

Крок 1:

  • Перейдіть на сторінку Розробник рахунок.
  • Натисніть на Запис макросу .
  • Набір Excel_Paste_Special_1 в якості Назва макросу .
  • Потім натисніть ГАРАЗД. .

Крок 2:

  • Тепер натисніть на кнопку Макроси командування.
  • Виберіть пункт Макрос а потім натисніть Крок до .

Крок 3:

  • Скопіюйте та вставте на командний модуль наступний код.
 Sub Excel_Paste_Special_1() Dim Copy_Cell As Range, Paste_Cell As Range xTitleId = "Salary_Sheet" Set Copy_Cell = Application.Selection Set Copy_Cell = Application.InputBox("Виділити діапазон для копіювання:", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Вставити в будь-яку порожню комірку:", xTitleId, Type:=8) Copy_Cell.Copy Paste_Cell.Parent.Activate Paste_Cell.PasteSpecialxlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub 

Крок 4:

  • Преса F5 для запуску коду.
  • З'явиться нове діалогове вікно, в якому виберіть діапазон джерела.
  • Потім натисніть ГАРАЗД. .

Крок 5:

  • З'явиться ще одне діалогове вікно, в якому виберіть порожній діапазон, куди потрібно вставити скопійовані комірки.

Тепер подивіться на набір даних.

Всі дані копіюються зі значеннями і форматами за допомогою Спеціальна вставка VBA .

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

2. вставка діапазону комірок зі значеннями та форматами за допомогою xlPasteAllUsingSourceTheme у спеціальній вставці VBA

Вставимо діапазон комірок безпосередньо на VBA код у цьому розділі.

Крок 1:

  • Преса Alt+F11 для входу в командний модуль.
  • Розмістіть на командному модулі наступний код.
 Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Крок 2:

  • Тепер натисніть F5 для запуску коду.

Це xlPasteAllUsingSourceTheme копіює точний дублікат вихідних даних.

Читати далі: Excel VBA: копіювання значення комірки та вставка в іншу комірку

3. використання змінної VBA для вставки діапазону зі значеннями та форматами за допомогою спеціальної вставки

Ми покажемо використання змінних в VBA Paste Special код тут.

Крок 1:

  • Спочатку увійдіть в командний модуль, натиснувши Alt+F11 .
  • Впишіть код, наведений нижче, в командний модуль.
 Sub Excel_Paste_Special_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Крок 2:

  • Преса F5 і запустити код.

Читати далі: Excel VBA: копіювання діапазону в іншу книгу

4. за допомогою xlPasteValues та xlPasteFormats скопіювати значення та формати на інший аркуш, зберігши формати незмінними

Вище були розглянуті способи копіювання і вставки даних на одному аркуші. Тепер ми покажемо, як використовувати VBA Paste Special для різних аркушів.

Крок 1:

  • Увійдіть в командний модуль, натиснувши Alt+F11 та копіювання на ньому наступного коду.
 Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Призначення = paste_rng.Range("B2:C9").Copy Призначення.Спеціальна вставка Paste:=xlPasteValues Призначення.Спеціальна вставка Paste:=xlPasteFormatsApplication.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Крок 2:

  • Преса F5 для запуску коду.

Ми бачимо, що дані Data_Set копіюється на Інший_аркуш .

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

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

  • Як скопіювати кілька комірок на інший аркуш в Excel (9 способів)
  • Різниця між вставкою та спеціальною вставкою в Excel
  • Excel VBA для копіювання даних з іншої книги без відкриття
  • Як копіювати та вставляти в Excel зі збереженням розміру комірки (7 прикладів)
  • Копіювання та вставка значень у наступний порожній рядок в Excel VBA (3 приклади)

5. використовуйте xlPasteFormats тільки для вставки форматів

У попередніх способах ми копіювали дані цілком і вставляли їх без змін. Але в цьому розділі ми будемо копіювати тільки формат даних.

Крок 1:

  • Перейдіть до командного модуля, натиснувши Alt+F11 .
  • Скопіюйте та вставте код, наведений нижче, в командний модуль.
 Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub 

Крок 2:

  • Тепер натисніть кнопку F5 і запустіть код.

Подивіться на набір даних - скопійовані тільки формати, ніяких значень тут немає.

Читати далі: Як скопіювати і вставити в Excel без зміни формату

6. використовуйте xlPasteValues для вставки тільки значень

Копіювати значення ми можемо тільки за допомогою Спеціальна вставка VBA .

Крок 1:

  • Преса Alt+F11 для входу в командний модуль.
  • Напишіть на командному модулі наступний код.
 Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub 

Крок 2:

  • Натисніть на F5 і запустити код.

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

Читати далі: Як за допомогою VBA вставити в Excel тільки значення без форматування

7. скопіювати та вставити весь вміст однієї комірки

У попередніх розділах ми копіювали діапазон даних, тут ми скопіюємо лише одну комірку.

Крок 1:

  • Тепер натисніть Alt+F11 та увійти до командного модуля.
  • Наберіть на модулі наступний код.
 Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Крок 2:

  • Тепер натисніть кнопку F5 для запуску коду.

Ми бачимо, що тут копіюється одна комірка, а не діапазон.

Читати далі: Формула для копіювання та вставки значень в Excel (5 прикладів)

8. копіювання та вставка всіх атрибутів певного стовпця за допомогою VBA

Як і окрему комірку, ми можемо скопіювати один стовпець у наборі даних.

Крок 1:

  • Просто натисніть кнопку Alt+F11 для входу в командний модуль.
  • Впишіть код, наведений нижче, в модуль.
 Sub Excel_Paste_Special_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Columns("C") Set paste_rng = Columns("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Крок 2:

  • Запустіть код, натиснувши F5 .

Тут ми бачимо, що Колонка Б копіюється на Колонка E .

Читати далі: [Виправлено]: Копіювання та вставка правою кнопкою миші не працює в Excel (11 рішень)

9. копіювання та вставка всіх атрибутів рядка за допомогою Excel VBA

Аналогічно ми можемо скопіювати один рядок за допомогою кнопки Паста спеціальна .

Крок 1:

  • Натисніть на Alt+F11 для входу в командний модуль.
  • Скопіюйте наступний код на командному модулі.
 Sub Excel_Paste_Special_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Крок 2:

  • Запустіть код, натиснувши F5 .

Ось, Ряд 4 копіюється на Рядок 11 .

Читати далі: Як скопіювати кілька рядків в Excel за допомогою макросу (4 приклади)

Висновок

У цій статті ми пояснили 9 способи вставки спеціальних значень і форматів в Excel. Сподіваюся, це задовольнить ваші потреби. Будь ласка, загляньте на наш сайт Exceldemy.com та висловлюйте свої пропозиції у полі для коментарів.

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