VBA Transponiranje (korak po korak) | Top 2 metode za prenošenje u VBA

Vidjeli smo funkciju transponiranja u Excelovom radnom listu kada zalijepimo bilo koju tablicu podataka u radni list, a transponiranje mijenja promjenu položaja redaka i stupaca, tj. Redovi postaju stupci, a stupci postaju retci u tablici podataka, budući da je to radni list funkciju u VBA koristimo je s metodom Application.worksheet u VBA.

Kako prenijeti u VBA?

Promjena redaka i stupaca jedna je od tehnika manipulacije podacima koju gotovo svi korisnici rade u Excelu. Postupak pretvaranja vodoravnih podataka u vertikalne i vertikalne podatke u vodoravne naziva se u programu Excel „Transpose“. Siguran sam da morate biti upoznati s transponiranjem na redovnom radnom listu, u ovom ćemo vam članku pokazati kako koristiti metodu transponiranja u VBA kodiranju.

Možemo transponirati u VBA pomoću dvije metode.

  1. Transponirajte pomoću TRANSPOSE formule.
  2. Transponirajte pomoću posebne paste metode.

Kada transponiramo, zamjenjujemo retke u stupce i stupce u retke. Na primjer, ako se podaci nalaze u polju 4 X 3, tada postaju polje 3 X 4.

Pogledajmo nekoliko primjera za prenošenje stupca u red u VBA.

# 1 - VBA transponiranje pomoću TRANSPOSE formule

Kao što koristimo TRANSPOSE u excelu, slično tome možemo koristiti i TRANSPOSE formulu u VBA. U VBA nemamo formulu TRANSPOSE, pa moramo koristiti u klasi funkcije Radni list.

Za primjer pogledajte donju sliku podataka.

Pokušat ćemo prenijeti ovaj niz vrijednosti. Slijedite korake u nastavku za prijenos podataka.

Korak 1: Pokrenite potpostupak

Kodirati:

 Sub Transpose_Example1 () Kraj Sub 

Korak 2: Prvo moramo odlučiti gdje ćemo prenijeti podatke. U ovome sam odabrao transponiranje iz ćelije D1 u H2. Dakle, unesite VBA kôd kao Raspon (“D1: H2”). Vrijednost =

Kodirati:

 Sub Transpose_Example1 () Raspon ("D1: H2"). Vrijednost = Kraj Sub 

Korak 3: Sada u gore spomenutom rasponu trebamo vrijednost raspona od A1 do B5. Da biste došli do ove otvorene klase "Funkcija radnog lista" i odabrali formulu "Transponiraj".

Korak 4: U Arg 1 navedite opseg izvora podataka, odnosno opseg (“A1: D5”) .

Kodirati:

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

U redu, završili smo s kodiranjem formule TRANSPOSE. Sada pokrenite kôd da biste vidjeli rezultat u rasponu stanica D1 do H2.

Kao što smo vidjeli gornju sliku, pretvorio je raspon ćelija iz stupaca u retke.

# 2 - VBA transponiranje pomoću posebne paste metode

Također možemo transponirati metodom Paste Special. Uzmite u obzir iste podatke i za ovaj primjer.

Prvo što moramo učiniti da bismo prenijeli je kopiranje podataka. Zato napišite kôd kao Raspon ("A1: B5"). Kopirajte

Kodirati:

 Sub Transpose_Example2 () Raspon ("A1: B5"). Kopiraj Kraj Sub 

Sljedeća stvar je da trebamo odlučiti gdje ćemo zalijepiti podatke. U ovom sam slučaju odabrao D1 kao željenu odredišnu ćeliju.

Kodirati:

Sub Transpose_Example2 () Raspon ("A1: B5"). Kopiraj raspon ("D1"). Kraj pod

Nakon što odaberemo željenu odredišnu ćeliju, moramo odabrati "Zalijepi posebnu metodu".

Pomoću paste special možemo izvoditi sve radnje koje imamo redovitim metodama paste paste na radnom listu.

Zanemarite sve parametre i odaberite zadnji parametar, tj. Transponiraj i učinite ovo TRUE.

Kodirati:

 Sub Transpose_Example2 () Raspon ("A1: B5"). Kopiraj raspon ("D1"). PasteSpecial Transpose: = True End Sub 

Ovo će također prenijeti podatke kao i prethodna metoda.

Na ovaj način možemo koristiti formulu TRANSPOSE ili Posebnu metodu zalijepljenja za prijenos podataka za prebacivanje redaka u stupce i stupaca u retke.

Stvari koje treba zapamtiti

  • Ako koristimo funkciju TRANSPOSE radnog lista, obvezno je izračunati broj redaka i stupaca za prijenos podataka. Ako imamo 5 redaka i 3 stupca, tada tijekom transponiranja postaju 3 retka i 5 stupaca.
  • Ako želite isto oblikovanje tijekom korištenja paste special, tada morate koristiti argument Paste Type kao “xlPasteFormats”

Ovaj VBA Transpose Excel Predložak možete preuzeti odavde - VBA Transpose Excel Predložak