VBA Átültetés - Hogyan kell használni az Excel VBA átültetést?

Tartalomjegyzék:

Anonim

VBA Átültetés

Microsoft Excel felhasználóként gyakran használta az átültetési funkciót, amely lehetővé teszi a sorok és oszlopok cseréjét tömbön. A sorok oszlopokká és oszlopokká konvertálása sorokká változtatja meg az átültetési funkciót az Excel alkalmazásban. A sorok száma oszlopszám lesz, és fordítva. Ez azt jelenti, ha 2 sor és 3 oszlop van a tömbben, az átültetés után 3 sorra és 2 oszlopra tömörül. Ebben az oktatóanyagban áttekintjük a VBA-átültetést, amely lehetővé teszi az Excel-ben használt átültetési módszer automatizálását.

Az Átültetés szintaxisa az Excel VBA-ban

A VBA Transpose szintaxisa a következő:

Hol,

Arg1 : Ez egy kötelező érv, amely nem más, mint egy sejttartomány, amelyet át szeretnénk ültetni (azaz tömb).

A szintaxis első része nem más, mint egy kifejezés, amely alatt az Átültetés funkció használható. Például a WorksheetFunction.

Hogyan kell használni az Excel VBA átültetést?

Megtanuljuk, hogyan kell használni az Átültetést néhány példával az Excel VBA-ban.

Itt töltheti le a VBA Transpose Excel sablont - VBA Transpose Excel Template

1. példa - VBA egydimenziós tömb átültetése

Tegyük fel, hogy olyan listákkal dolgozik, amelyek egy egydimenziós tömböt tartalmaznak, mint például egy alkalmazott nevét (“Lalit”, “Sneha”, “Etil”, “John”, “Cory”), és ezt a listát szeretné hogy excel cellába illessze be. Lássuk, hogyan tehetjük ezt.

Kövesse az alábbi lépéseket az Átültetés VBA-ban használatához.

1. lépés: Helyezzen be egy új modult, és határozza meg az új alapelvet a makró létrehozásához a VBA-ban.

Kód:

 Sub Trans_ex1 () Sub 

2. lépés: Adjon meg egy új változót, amely képes tárolni az egydimenziós tömbjét.

Kód:

 Sub Trans_ex1 () Dim Arr1 Variant End Sub 

3. lépés: A tömb funkcióval határozza meg a listát tömbként. Ezt a listát szeretné beilleszteni az Excel lapjába.

Kód:

 Sub Trans_ex1 () Dim Arr1 Variant Arr1 = Array ("Lalit", "Sneha", "Etil", "John", "Cory") Vége Sub 

4. lépés: Most használja a Range.Value metódust annak a tartománynak a meghatározásához, amelybe be szeretné illeszteni ezeket az értékeket.

Kód:

 Sub Trans_ex1 () Dim Arr1 Variant Arr1 = Array ("Lalit", "Sneha", "Etil", "John", "Cory") tartomány ("A1: A5"). Érték = End Sub 

5. lépés: Használja az Application.WorksheetFunction.Translate az adott tömbön az Arr1 változó alatt definiált lista átültetéséhez.

Kód:

 Sub Trans_ex1 () Dim Arr1 Variant Arr1 = Array ("Lalit", "Sneha", "Etil", "John", "Cory") tartomány ("A1: A5"). Érték = Application.WorksheetFunction.Transpose (Arr1 ) Befejezés Sub 

Itt definiáltunk egy kódot, amely lehetővé teszi a rendszer számára az Arr1 nevű listamasszában lévő adatok átültetését, majd az aktív munkalapon az A1: A5 cellába tárolását.

6. lépés: A VBE alatt nyomja meg az F5 vagy a Futtatás gombot, hogy futtassa ezt a kódot, és az aktív excel táblázat alatt láthassa a kimenetet.

Láthatja, hogy a lista adott tömbje egy oszlopba kerül és az A1-től A5-ig tárolódik.

2. példa - VBA kétdimenziós tömb átültetése

Tegyük fel, hogy az alábbiak szerint rendelkezik kétdimenziós tömbökkel és fizetésükkel:

Ez egy kétdimenziós adat, hat sorral és két oszloppal. Az átültetés után tömb lenne két sorral és hat oszloppal.

Kövesse az alábbi lépéseket az Átültetés VBA-ban használatához.

1. lépés: Határozzon meg egy alprogramot a makró tárolására.

Kód:

 Sub Trans_Ex2 () Sub 

2. lépés: Döntse el azt a tartományt, ahova át kívánja helyezni ezeket az adatokat. Meg lehet tenni a Sheets.Range.Value függvény segítségével. Megtakarítanám az átültetett tömböt a D1 – I2 cellába.

Kód:

 Sub Trans_Ex2 () lapok ("2. példa"). Tartomány ("D1: I2"). Érték = Sub vége 

3. lépés: Használja a MunkalapFunkciót. Átültetés, hogy A1: B6 tömböt rendelhessen a funkció átültetéséhez.

Kód:

 Sub Trans_Ex2 () lapok ("2. példa"). Tartomány ("D1: I2"). Érték = WorksheetFunction.Transpose (End Sub 

4. lépés: Meg kell határoznunk az Átültetés funkció argumentumát. Szeretnénk átültetni egy sor A1: B6 tömböt. Ezért használja a Range („A1: B6”) érvet.

Kód:

 Sub Trans_Ex2 () lapok ("2. példa"). Tartomány ("D1: I2"). Érték = WorksheetFunction.Transpose (Range ("A1: B6")) End Sub 

5. lépés: Nyomja meg az F5 vagy a Futtatás gombot a kód futtatásához és a kimenet megtekintéséhez.

Itt az A1: B6 tömb tartományt áthelyezik és a D1: I2 tömb tartományába tárolják a VBA Átültetés funkció segítségével excelben.

3. példa - VBA átültetése egy tömbre speciális beillesztési módszerrel

A tömböt és a beillesztést is átültethetjük, ugyanúgy, mint az Excel programban, az Alt + E + S segítségével. Különböző műveleteket is használhatunk ezen paszta speciális módszerrel.

Vegyük figyelembe ugyanazokat az adatokat, mint amelyeket az előző példában használtunk.

Kövesse az alábbi lépéseket az Átültetés VBA-ban használatához.

1. lépés: Adjon meg egy alprogramot a makró tárolására.

Kód:

 Sub Trans_Ex3 () Vége Sub 

2. lépés: Definiáljon két új változót: az egyik képes tárolni az adatforrás tömböt (sourceRng), a másik pedig a kimeneti tömb tartományát (targetRng).

Kód:

 Sub Trans_Ex3 () tompítva sourceRng mint Excel.Range Dim taretRng mint Excel.Range End Sub 

Felhívjuk figyelmét, hogy ezeknek a változóknak a típusa az (Excel.Range). Mert a tömbtartományú adatokat szeretnénk átültetni.

3. lépés: A Sheets.Range funkcióval állítsa be a forrástartományt A1: B6 értékre (Az adatok, amelyeket át akarunk venni).

Kód:

 Sub Trans_Ex3 () tompítva sourceRng mint Excel.Range dim dim taretRng mint Excel.Range Állítsa sourceRng = Sheets ("3. példa"). Range ("A1: B6") End Sub 

4. lépés: A Sheets.Range funkcióval állítsa be a cél- és céltartományt D1: I2 értékre (azon cellák tartománya, ahol a kimenetet tárolni fogják).

Kód:

 Sub Trans_Ex3 () tompított sourceRng mint Excel.Range dim dim taretRng mint Excel.Range Set sourceRng = Sheets ("3. példa"). Range ("A1: B6") Set targetRng = Sheets ("3. példa") Range ( "D1: I2") Sub 

5. lépés: Most a Másolás paranccsal másolja ki a forrásadatok tartományát a munkalapjáról.

Kód:

 Sub Trans_Ex3 () tompított sourceRng mint Excel.Range dim dim taretRng mint Excel.Range Set sourceRng = Sheets ("3. példa"). Range ("A1: B6") Set targetRng = Sheets ("3. példa") Range ( "D1: I2") sourceRng.Copy End Sub 

6. lépés: A PasteSpecial függvényt fogjuk használni a targetRng változón az átültetett kimenet céltartományba (D1: I2) a munkalap mentéséhez.

Kód:

 Sub Trans_Ex3 () tompított sourceRng mint Excel.Range dim dim taretRng mint Excel.Range Set sourceRng = Sheets ("3. példa"). Range ("A1: B6") Set targetRng = Sheets ("3. példa") Range ( "D1: I2") sourceRng.Copy targetRng.PasteSpecial Paste: = xlPasteValues, Működés: = xlNone, SkipBlanks: = Hamis, Átültetés: = True End Sub 
  • Beillesztés : Lehetővé teszi az értékek más formátumba történő beillesztését (például Beillesztés értékként, Képletként, Formátumként stb.). Hasonló az Exceléhez (Alt + E + S-t használunk, hogy különféle beillesztési opciók legyenek). Példánkban úgy állítottuk be, hogy beillesztje értékként.
  • Művelet : Különböző műveletek végezhetők, mint például összeadás, kivonás, szorzás, osztás (ugyanúgy, mint az Excelben).
  • SkipBlanks : Ha True értékre van állítva, ez a parancs lehetővé teszi az esetleges hiányosságok kihagyását az adatokból, különféle beillesztési speciális műveletek végrehajtása közben. Hamisra állítottuk, az azt jelenti, hogy nem akartuk kihagyni az üres nyomakat.
  • Átültetés : Ha True értékre van állítva, akkor lehetővé teszi egy sor tömb átültetését.

7. lépés: Futtassa ezt a kódot az F5 vagy a Futtatás gomb megnyomásával, és nézze meg a kimenetet.

Dolgok, amikre emlékezni kell

  • Az egydimenziós tömbön dolgozva mindig az vízszintesnek (Egy sor, több oszlop) kell lennie az átültetési módszer alkalmazásához.
  • A VBA Átültetés Excel alkalmazásban történő használatakor kötelező feltölteni a sorok és az oszlopok számát. Ha 3 sor és 5 oszlop van, az átültetés után 5 sor lenne három oszlopgal.
  • Az Átültetés módszer általában nem foglalja magában a forrás adatok formázását. Ha ugyanazt a formátumot szeretné alkalmazni, mint a forrásadatokat, akkor vagy manuálisan kell beállítania, vagy az XlPasteFormat speciális beillesztési opció használatával meg tudja őrizni a forrásadatok formátumát a céladatokhoz.
  • Az átültetési funkció tömbbe vehető elemeinek száma nem haladhatja meg az 5461-et.
  • A tömb nem tartalmazhat olyan tételt / karakterláncot, amelynek hossza meghaladja a 255-et. Ha szerepel, akkor olyan hibákat okoz, mint például 13, Type Mismatch, 5, érvénytelen eljáráshívás vagy argumentum, 1004, alkalmazás által definiált vagy objektum által definiált hiba .
  • A forrás tömb nem tartalmazhat null értéket (például “Null”, “# N / A”).

Ajánlott cikkek

Ez egy útmutató a VBA Transponáláshoz. Itt megvitatták az Excel VBA Transpose használatának gyakorlati példákat és letölthető excel sablonokat. Megnézheti más javasolt cikkeinket -

  1. Útmutató a VBA karakterlánc-funkcióhoz
  2. Excel TRANSPOSE Formula
  3. Ismerje meg a VBA esetét az Excel programban
  4. Távolítsa el (törölje) az üres sorokat az Excel programból