Transpose VBA

Kita telah melihat fungsi transpose di lembar kerja excel ketika kita menempelkan tabel data ke lembar kerja, yang dilakukan transpose adalah mengubah posisi baris dan kolom yaitu baris menjadi kolom dan kolom menjadi baris dalam tabel data, sekarang karena itu adalah lembar kerja fungsi di VBA kami menggunakannya dengan metode Application.worksheet di VBA.

Bagaimana cara Transpose di VBA?

Perpindahan baris dan kolom merupakan salah satu teknik manipulasi data yang hampir semua dilakukan pengguna di excel. Proses mengubah data horizontal menjadi data vertikal dan vertikal menjadi horizontal disebut sebagai “Transpose” di excel. Saya yakin Anda pasti sudah familiar dengan Transposing di lembar kerja biasa, pada artikel ini kami akan menunjukkan cara menggunakan metode transpose dalam pengkodean VBA.

Kami dapat mengubah urutan dalam VBA menggunakan dua metode.

  1. Transpose Menggunakan Rumus TRANSPOSE.
  2. Transpose Menggunakan Metode Tempel Khusus.

Saat kami mengubah posisi, kami menukar baris ke kolom dan kolom ke baris. Misal, jika data berada dalam array 4 X 3 maka menjadi 3 X 4 array.

Mari kita lihat beberapa contoh untuk mengubah urutan kolom ke baris di VBA.

# 1 - Transpose VBA Menggunakan Formula TRANSPOSE

Seperti bagaimana kami menggunakan TRANSPOSE di excel, kami juga dapat menggunakan rumus TRANSPOSE di VBA. Kami tidak memiliki rumus TRANSPOSE di VBA, jadi kami perlu menggunakan di bawah kelas Fungsi Lembar Kerja.

Sebagai contoh lihat gambar data di bawah ini.

Kami akan mencoba untuk mengubah susunan nilai ini. Ikuti langkah-langkah di bawah ini untuk mengubah urutan data.

Langkah 1: Mulai subprocedure

Kode:

 Sub Transpose_Example1 () End Sub 

Langkah 2: Pertama kita perlu memutuskan di mana kita akan mentranspos data. Dalam hal ini, saya telah memilih untuk mengubah urutan dari sel D1 ke H2. Jadi, masukkan kode VBA sebagai Range (“D1: H2”). Value =

Kode:

 Sub Transpose_Example1 () Range ("D1: H2"). Nilai = End Sub 

Langkah 3: Sekarang dalam rentang yang disebutkan di atas kita membutuhkan nilai rentang A1 hingga B5. Untuk sampai pada kelas "Fungsi Lembar Kerja" terbuka ini dan pilih rumus "Ubah Urutan".

Langkah 4: Dalam Arg 1 berikan rentang sumber data yaitu Range ("A1: D5") .

Kode:

 Sub Transpose_Example1 () Range ("D1: H2"). Value = WorksheetFunction.Transpose (Range ("A1: D5")) End Sub 

Oke, kita selesai dengan pengkodean rumus TRANSPOSE. Sekarang jalankan kode untuk melihat hasilnya dalam rentang sel D1 hingga H2.

Seperti yang telah kita lihat pada gambar di atas, ini telah mengubah rentang sel dari kolom ke baris.

# 2 - Transpose VBA Menggunakan Metode Tempel Khusus

Kami juga dapat mengubah urutan menggunakan metode Tempel Khusus. Pertimbangkan data yang sama untuk contoh ini juga.

Hal pertama yang perlu kita lakukan untuk mengubah urutan adalah menyalin data. Jadi tulis kodenya sebagai Range ("A1: B5"). Copy

Kode:

 Sub Transpose_Example2 () Range ("A1: B5"). Salin End Sub 

Hal berikutnya adalah kita perlu memutuskan di mana kita akan menempelkan data. Dalam hal ini, saya telah memilih D1 sebagai sel tujuan yang diinginkan.

Kode:

Sub Transpose_Example2 () Range ("A1: B5"). Salin Range ("D1"). Akhiri Sub

Setelah sel tujuan yang diinginkan dipilih, kita perlu memilih "Tempel Metode Khusus".

Dengan paste khusus, kita dapat melakukan semua tindakan yang kita miliki dengan metode khusus tempel biasa di lembar kerja.

Abaikan semua parameter dan pilih parameter terakhir yaitu Transpose dan jadikan ini BENAR.

Kode:

 Sub Transpose_Example2 () Range ("A1: B5"). Copy Range ("D1"). PasteSpecial Transpose: = True End Sub 

Ini juga akan mentranspos data seperti metode sebelumnya.

Seperti ini, kita dapat menggunakan rumus TRANSPOSE atau metode Tempel Khusus untuk mengubah urutan data untuk mengalihkan baris ke kolom dan kolom ke baris.

Hal-hal untuk diingat

  • Jika kita menggunakan fungsi lembar kerja TRANSPOSE, maka wajib menghitung jumlah baris dan kolom untuk mengubah urutan data. Jika kita memiliki 5 baris dan 3 kolom maka saat mengubah posisinya menjadi 3 baris dan 5 kolom.
  • Jika Anda menginginkan format yang sama saat menggunakan paste special maka Anda harus menggunakan argumen Paste Type sebagai "xlPasteFormats"

Anda dapat mendownload Template Excel Transpose VBA ini dari sini - Template VBA Transpose Excel