Транспонування VBA (крок за кроком) | Топ 2 методів транспонування у VBA

Ми бачили функцію транспонування в робочому аркуші Excel, коли ми вставляємо будь-яку таблицю даних на аркуш. Транспонування робить те, що вона змінює положення рядків і стовпців, тобто рядки стають стовпцями, а стовпці стають рядками в таблиці даних, тому що це робочий аркуш Функція у VBA ми використовуємо її з методом Application.worksheet у VBA.

Як транспонувати в VBA?

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

Ми можемо транспонувати у VBA двома методами.

  1. Транспонування за допомогою формули TRANSPOSE.
  2. Транспонування за допомогою спеціального методу вставки.

Коли ми транспонуємо, ми міняємо місцями рядки на стовпці, а стовпці на рядки. Наприклад, якщо дані знаходяться в масиві 4 X 3, то це стає масивом 3 X 4.

Давайте подивимося кілька прикладів транспонування стовпця в рядок у VBA.

№1 - Транспонування VBA за допомогою формули TRANSPOSE

Подібно до того, як ми використовуємо TRANSPOSE в Excel, так само ми можемо використовувати формулу TRANSPOSE у VBA. У нас немає формули TRANSPOSE у VBA, тому нам потрібно використовувати клас Function Worksheet.

Для прикладу перегляньте зображення даних нижче.

Ми спробуємо транспонувати цей масив значень. Виконайте наведені нижче дії, щоб транспортувати дані.

Крок 1: Запустіть підпроцедуру

Код:

 Sub Transpose_Example1 () Кінець Sub 

Крок 2: Спочатку нам потрібно вирішити, куди ми будемо транспонувати дані. У цьому я вирішив перенести з клітини D1 в H2. Отже, введіть код VBA як Діапазон (“D1: H2”). Значення =

Код:

 Sub Transpose_Example1 () Діапазон ("D1: H2"). Значення = Кінець Sub 

Крок 3: Тепер у вищезазначеному діапазоні нам потрібно значення діапазону від А1 до В5. Щоб дійти до цього відкритого класу «Функція робочого аркуша» та вибрати формулу «Транспонування».

Крок 4: В Arg 1 вкажіть діапазон джерела даних, тобто діапазон (“A1: D5”) .

Код:

 Sub Transpose_Example1 () Діапазон ("D1: H2"). Значення = WorksheetFunction.Transpose (Range ("A1: D5")) End Sub 

Гаразд, ми закінчили з кодуванням формули TRANSPOSE. Тепер запустіть код, щоб побачити результат у діапазоні комірок від D1 до H2.

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

# 2 - Транспонування VBA за допомогою спеціального методу вставки

Ми також можемо транспонувати за допомогою методу Paste Special. Розглянемо ті самі дані і для цього прикладу.

Перше, що нам потрібно зробити для транспонування, - це скопіювати дані. Тож напишіть код як діапазон (“A1: B5”). Скопіюйте

Код:

 Sub Transpose_Example2 () Діапазон ("A1: B5"). Копіювати End End 

Наступне, нам потрібно вирішити, куди ми будемо вставляти дані. У цьому випадку я вибрав D1 як бажану комірку призначення.

Код:

Sub Transpose_Example2 () Діапазон ("A1: B5"). Діапазон копіювання ("D1"). Кінець Sub

Після того, як вибрана потрібна комірка призначення, нам потрібно вибрати “Вставити спеціальний метод”.

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

Ігноруйте всі параметри та виберіть останній параметр, тобто транспонуйте і зробіть це як TRUE.

Код:

 Sub Transpose_Example2 () Діапазон ("A1: B5"). Діапазон копіювання ("D1"). PasteSpecial Transpose: = True End Sub 

Це також транспонує дані, як попередній метод.

Подібно до цього, ми можемо використовувати формулу TRANSPOSE або спеціальний метод «Вставити» для транспонування даних для перемикання рядків у стовпці та стовпців у рядки.

Що слід пам’ятати

  • Якщо ми використовуємо функцію аркуша TRANSPOSE, обов’язковим є обчислення кількості рядків і стовпців для транспонування даних. Якщо у нас є 5 рядків і 3 стовпці, тоді під час транспонування це стає 3 рядками і 5 стовпцями.
  • Якщо ви хочете однакове форматування під час використання спеціальної вставки, тоді вам доведеться використовувати аргумент типу вставки як “xlPasteFormats”

Ви можете завантажити цей шаблон VBA Transpose Excel звідси - VBA Transpose Excel Template