VBA átültetés (lépésről lépésre) A két legfontosabb módszer a VBA-ban való átültetésre

Láttuk a transzponálás funkciót az excel munkalapon, amikor bármilyen adattáblát beillesztünk a munkalapba, ami azt jelenti, hogy megváltoztatja a sorok és oszlopok helyzetét, azaz a sorok oszlopokká válnak, és az oszlopok sorokká válnak az adattáblákban, mivel ez most munkalap funkciót a VBA-ban az Application.worksheet módszerrel használjuk a VBA-ban.

Hogyan lehet átültetni a VBA-ba?

A sorok és oszlopok váltása az egyik adatkezelési technika, amelyet szinte az összes felhasználó végez az excelben. A vízszintes adatok vertikális és vertikális adatokká horizontálissá konvertálásának folyamatát az excelben „Transpose” -nak nevezzük. Biztos vagyok benne, hogy ismernie kell az átültetést egy szokásos munkalapon, ebben a cikkben megmutatjuk, hogyan kell használni az átültetési módszert a VBA kódolásban.

Két módszerrel ültethetjük át a VBA-ban.

  1. Átültetés a TRANSPOSE Formula használatával.
  2. Átültetés speciális beillesztési módszerrel.

Az átültetés során sorokat cserélünk oszlopokra és oszlopokat sorokra. Például, ha az adatok 4 X 3 tömbben vannak, akkor 3 X 4 tömb lesz belőle.

Lássunk néhány példát az oszlopok sorokba való átültetésére a VBA-ban.

# 1 - VBA átültetés a TRANSPOSE képlet használatával

Hasonlóan a TRANSPOSE használatához az excelben, hasonlóan használhatjuk a TRANSPOSE képletet a VBA-ban is. A VBA-ban nincs TRANSPOSE képlet, ezért a Worksheet Function osztály alatt kell használnunk.

Például nézze meg az alábbi adatképet.

Megpróbáljuk átültetni ezt az értéktömböt. Az adatok átültetéséhez kövesse az alábbi lépéseket.

1. lépés: Indítsa el az alfolyamatot

Kód:

 Sub Transpose_Példa1 () End Sub 

2. lépés: Először el kell döntenünk, hová fogjuk átültetni az adatokat. Ebben a D1 cellából a H2-be történő transzponálást választottam. Tehát írja be a VBA kódot tartományként („D1: H2”)

Kód:

 Sub Transpose_Példa1 () Tartomány ("D1: H2"). Érték = End Sub 

3. lépés: Most a fent említett tartományban szükségünk van az A1 – B5 tartomány értékére. Ehhez a nyitott „Worksheet Function” osztályhoz való hozzáféréshez válassza ki az „Transpose” képletet.

4. lépés: Az Arg 1-ben adja meg az adatforrás-tartományt, azaz a Tartományt („A1: D5”) .

Kód:

 Sub Transpose_Example1 () tartomány ("D1: H2"). Érték = WorksheetFunction.Transpose (tartomány ("A1: D5")) End Sub 

Ok, elkészültünk a TRANSPOSE képletek kódolásával. Most futtassa a kódot, hogy megnézze az eredményt a D1 – H2 cellatartományban.

Amint a fenti képet láttuk, a cellák tartományát oszlopokból sorokká alakította át.

# 2 - VBA átültetés speciális beillesztési módszerrel

Átültethetjük a Paste Special módszerrel is. Vegye figyelembe ugyanezeket az adatokat ehhez a példához is.

Az első dolog, amit át kell ültetnünk, az adatok másolása. Írja be a kódot Range („A1: B5”) néven

Kód:

 Sub Transpose_Example2 () tartomány ("A1: B5"). Másolás End Sub 

A következő dolog az, hogy el kell döntenünk, hova fogjuk beilleszteni az adatokat. Ebben az esetben a D1-et választottam a kívánt cél cellának.

Kód:

Sub Transpose_Példa2 () Tartomány ("A1: B5"). Másolási tartomány ("D1"). End Sub

Miután kiválasztotta a kívánt cél cellát, ki kell választanunk a „Speciális módszer beillesztése” lehetőséget.

A paste special segítségével az összes műveletet elvégezhetjük a szokásos paste speciális módszerekkel egy munkalapon.

Hagyja figyelmen kívül az összes paramétert, és válassza ki az utolsó paramétert, azaz Átültetés, és tegye ezt igaznak.

Kód:

 Sub Transpose_Example2 () tartomány ("A1: B5"). Másolási tartomány ("D1"). PasteSpecial Transpose: = True End Sub 

Ez az adatokat az előző módszerhez hasonlóan transzponálja.

Így használhatjuk a TRANSPOSE képletet vagy a Paste Special metódust az adatok átültetéséhez a sorok oszlopokra és az oszlopok sorokra váltásához.

Dolgok, amikre emlékezni kell

  • Ha a TRANSPOSE munkalapfüggvényt használjuk, az adatok átültetéséhez számos sort és oszlopot kell kiszámítani. Ha 5 sorunk és 3 oszlopunk van, akkor az átültetés során 3 sor és 5 oszlop lesz.
  • Ha ugyanazt a formázást szeretné használni a special paste beírásakor, akkor a Paste Type argumentumot „xlPasteFormats” néven kell használnia

Ezt a VBA Transpose Excel sablont innen töltheti le - VBA Transpose Excel Template