Funkcijo transponiranja smo videli v Excelovem delovnem listu, ko na delovni list prilepimo katero koli podatkovno tabelo. Pri transponiranju se spremeni položaj vrstic in stolpcev, tj. Vrstice postanejo stolpci in stolpci postanejo vrstice v podatkovni tabeli, saj je to delovni list funkcijo v VBA uporabljamo z metodo Application.worksheet v VBA.
Kako prenesti v VBA?
Preklapljanje vrstic in stolpcev je ena od tehnik obdelave podatkov, ki jo skoraj vsi uporabniki izvajajo v Excelu. Postopek pretvorbe vodoravnih podatkov v navpične in navpične podatke v vodoravni se v Excelu imenuje »Prenos«. Prepričan sem, da morate poznati Transponiranje na običajnem delovnem listu. V tem članku vam bomo pokazali, kako uporabljati metodo prenosa pri kodiranju VBA.
V VBA lahko prenesemo z dvema metodama.
- Prenos z uporabo formule TRANSPOSE.
- Prenos s posebno metodo lepljenja.
Ko transponiramo, zamenjamo vrstice v stolpce in stolpce v vrstice. Če so na primer podatki v matriki 4 X 3, potem postanejo matriko 3 X 4.
Oglejmo si nekaj primerov za prenos stolpca v vrstico v VBA.

# 1 - Prenos VBA z uporabo formule TRANSPOSE
Tako kot uporabljamo TRANSPOSE v Excelu podobno, lahko tudi v VBA uporabimo formulo TRANSPOSE. V VBA nimamo formule TRANSPOSE, zato jo moramo uporabiti v razredu Funkcije delovnega lista.
Na primer, poglejte spodnjo sliko s podatki.

Poskusili bomo prenesti to vrsto vrednosti. Za prenos podatkov sledite spodnjim korakom.
1. korak: zaženite podproceduro.
Koda:
Sub Transpose_Example1 () End Sub

2. korak: Najprej se moramo odločiti, kam bomo prenesli podatke. Pri tem sem se odločil za prenos iz celice D1 v H2. Vnesite kodo VBA kot Obseg (“D1: H2”). Vrednost =
Koda:
Sub Transpose_Example1 () Obseg ("D1: H2"). Vrednost = Konec Sub

3. korak: Zdaj v zgoraj omenjenem obsegu potrebujemo vrednost obsega od A1 do B5. Če želite prispeti do tega odprtega razreda »Funkcija delovnega lista« in izbrati formulo »Prenos«.

4. korak: V Arg 1 vnesite obseg vira podatkov, tj. Obseg (“A1: D5”) .
Koda:
Sub Transpose_Example1 () Obseg ("D1: H2"). Value = WorksheetFunction.Transpose (Range ("A1: D5")) End Sub

Ok, končali smo s kodiranjem formule TRANSPOSE. Zdaj zaženite kodo, da vidite rezultat v obsegu celic D1 do H2.

Kot smo videli na zgornji sliki, je pretvoril obseg celic iz stolpcev v vrstice.
# 2 - Prenos VBA s posebno metodo lepljenja
Prenesemo lahko tudi z metodo Paste Special. Upoštevajte enake podatke tudi za ta primer.

Prva stvar, ki jo moramo narediti za prenos, je kopiranje podatkov. Kodo torej napišite kot Obseg ("A1: B5"). Kopirajte
Koda:
Sub Transpose_Example2 () Obseg ("A1: B5"). Kopiraj Konec Sub

Naslednja stvar je, da se moramo odločiti, kam bomo prilepili podatke. V tem primeru sem za želeno ciljno celico izbral D1.
Koda:
Sub Transpose_Example2 () Obseg ("A1: B5"). Obseg kopiranja ("D1"). Končaj pod

Ko je izbrana želena ciljna celica, moramo izbrati »Prilepi posebno metodo«.

S paste special lahko na delovnem listu izvedemo vsa dejanja, ki jih imamo, z običajnimi metodami paste paste.
Prezrite vse parametre in izberite zadnji parameter, tj. Prenesi, in izberite TRUE.
Koda:
Sub Transpose_Example2 () Obseg ("A1: B5"). Kopiraj obseg ("D1"). PasteSpecial Transpose: = True End Sub

S tem bodo preneseni tudi podatki, kot prejšnja metoda.

Tako lahko za prenos podatkov za preklop vrstic v stolpce in stolpce v vrstice uporabimo formulo TRANSPOSE ali posebno metodo lepljenja.
Stvari, ki si jih je treba zapomniti
- Če uporabljamo funkcijo delovnega lista TRANSPOSE, je za prenos podatkov obvezno izračunati število vrstic in stolpcev. Če imamo 5 vrstic in 3 stolpce, potem med prenašanjem postane 3 vrstice in 5 stolpcev.
- Če želite enako oblikovanje uporabiti pri uporabi posebnega lepljenja, morate uporabiti argument Paste Type kot "xlPasteFormats."
To predlogo VBA Transpose Excel lahko prenesete od tukaj - VBA Transpose Excel Predloga.