Transpose ng VBA (Hakbang sa Hakbang) | Nangungunang 2 Paraan upang Magsalin sa VBA

Nakita namin ang pagpapaandar ng transpose sa excel worksheet kapag na-paste namin ang anumang talahanayan ng data sa worksheet, ang ginagawa ng transpos ay binabago nito ang posisyon ng mga hilera at haligi hal. Ang mga hilera ay naging haligi at ang mga haligi ay nagiging mga hilera sa isang talahanayan ng data, ngayon dahil ito ay isang worksheet pagpapaandar sa VBA ginagamit namin ito sa pamamaraang Application.worksheet sa VBA.

Paano Mag-transpose sa VBA?

Ang paglipat ng mga hilera at haligi ay isa sa mga diskarte sa pagmamanipula ng data na halos lahat ng mga gumagamit ay ginagawa sa excel. Ang proseso ng pag-convert ng pahalang na data sa patayo at patayong data sa pahalang ay tinawag bilang "Transpose" sa excel. Sigurado ako na dapat pamilyar ka sa Transposing sa isang regular na worksheet, sa artikulong ito ipapakita namin sa iyo kung paano gamitin ang transposition na pamamaraan sa VBA coding.

Maaari kaming mag-transose sa VBA gamit ang dalawang pamamaraan.

  1. Transpose Paggamit ng TRANSPose Formula.
  2. Transpose Paggamit ng I-paste ang Espesyal na Paraan.

Kapag nagpapalipat kami nagpapalit kami ng mga hilera sa mga haligi at haligi sa mga hilera. Halimbawa, kung ang data ay nasa 4 X 3 array pagkatapos ay nagiging 3 X 4 array.

Tingnan natin ang ilang mga halimbawa upang maglipat ng haligi sa hilera sa VBA.

# 1 - Transpose ng VBA Gamit ang TRANSPose Formula

Tulad ng kung paano namin ginagamit ang TRANSPose sa excel nang katulad maaari din naming magamit ang TRANSPose formula sa VBA din. Wala kaming formula na TRANSPose sa VBA, kaya kailangan naming gumamit sa ilalim ng klase ng Worksheet Function.

Para sa isang halimbawa tingnan ang imahe ng data sa ibaba.

Susubukan naming baguhin ang hanay ng mga halagang ito. Sundin ang mga hakbang sa ibaba upang ibalhin ang data.

Hakbang 1: Simulan ang subprocedure

Code:

 Sub Transpose_Example1 () End Sub 

Hakbang 2: Una kailangan naming magpasya kung saan namin ibalhin ang data. Sa ito, pinili kong magbalhin mula sa cell D1 hanggang H2. Kaya, ipasok ang VBA code bilang Saklaw ("D1: H2"). Halaga =

Code:

 Sub Transpose_Example1 () Saklaw ("D1: H2"). Halaga = Katapusan ng Sub 

Hakbang 3: Ngayon sa nabanggit na saklaw kailangan namin ang halaga ng saklaw na A1 hanggang B5. Upang makarating sa bukas na klase na "Worksheet Function" at piliin ang formula na "Transpose".

Hakbang 4: Sa Arg 1 ibigay ang saklaw ng mapagkukunan ng data i.e. Saklaw ("A1: D5").

Code:

 Sub Transpose_Example1 () Saklaw ("D1: H2"). Halaga = WorksheetFunction. Transpose (Saklaw ("A1: D5")) End Sub 

Ok, tapos na kami sa TRANSPose formula coding. Patakbuhin ngayon ang code upang makita ang resulta sa saklaw ng D1 hanggang H2 ng mga cell.

Tulad ng nakita namin sa itaas na imahe na-convert nito ang saklaw ng mga cell mula sa mga haligi hanggang sa mga hilera.

# 2 - Transpose ng VBA Gamit ang Espesyal na Paraan ng Pag-paste

Maaari rin tayong mag-transpos gamit ang Paste Special na pamamaraan. Isaalang-alang din ang parehong data para sa halimbawang ito.

Ang unang bagay na kailangan nating gawin upang magbalhin ay kopyahin ang data. Kaya't isulat ang code bilang Saklaw ("A1: B5"). Kopyahin

Code:

 Sub Transpose_Example2 () Saklaw ("A1: B5"). Kopyahin ang End Sub 

Ang susunod na bagay ay kailangan nating magpasya kung saan namin i-paste ang data. Sa kasong ito, pinili ko ang D1 bilang nais na cell ng patutunguhan.

Code:

 Sub Transpose_Example2 () Saklaw ("A1: B5"). Sakop ng Kopyahin ("D1"). Wakas Sub 

Kapag napili ang nais na cell ng patutunguhan kailangan nating piliin ang "I-paste ang Espesyal na Paraan".

Sa espesyal na i-paste, maaari nating maisagawa ang lahat ng mga pagkilos na mayroon kami gamit ang regular na mga espesyal na pamamaraan ng pag-paste sa isang worksheet.

Balewalain ang lahat ng mga parameter at piliin ang huling parameter ibig sabihin, Transpose at gawin itong TRUE.

Code:

 Sub Transpose_Example2 () Saklaw ("A1: B5"). Saklaw ng Kopyahin ("D1"). I-paste ang Espesyal na Transpose: = True End Sub 

Transpos din nito ang data tulad ng nakaraang pamamaraan.

Tulad nito, maaari naming gamitin ang formula na TRANSPose o I-paste ang Espesyal na pamamaraan upang ibalhin ang data upang ilipat ang mga hilera sa mga haligi at haligi sa mga hilera.

Bagay na dapat alalahanin

  • Kung gumagamit kami ng TRANSPose worksheet function na ipinag-uutos na kalkulahin ang isang bilang ng mga hilera at haligi upang ibalhin ang data. Kung mayroon kaming 5 mga hilera at 3 mga haligi pagkatapos habang ang paglilipat ay nagiging 3 mga hilera at 5 mga haligi.
  • Kung nais mo ang parehong pag-format habang gumagamit ng espesyal na i-paste pagkatapos ay kailangan mong gumamit ng argument ng Uri ng I-paste bilang "xlPasteFormats"

Maaari mong i-download ang VBA Transpose Excel Template na ito mula dito - VBA Transpose Excel Template