Prenos VBA (korak za korakom) | Top 2 metodi za prenos v VBA

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 biti seznanjeni s Prenašanjem na običajnem delovnem listu, v tem članku vam bomo pokazali, kako uporabljati način prenosa pri kodiranju VBA.

V VBA lahko prenesemo z dvema metodama.

  1. Prenos z uporabo formule TRANSPOSE.
  2. Prenos s posebno metodo lepljenja.

Ko prenašamo, zamenjamo vrstice v stolpce in stolpce v vrstice. Če so na primer podatki v matriki 4 X 3, postanejo matriki 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 uporabimo tudi formulo TRANSPOSE v VBA. V VBA nimamo formule TRANSPOSE, zato moramo uporabiti pod razredom Funkcije delovnega lista.

Za primer si oglejte 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 zgornjo sliko, 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 izvajamo vsa dejanja, ki jih imamo, z običajnimi posebnimi metodami lepljenja na delovnem listu.

Prezrite vse parametre in izberite zadnji parameter, tj. Prenesi in to nastavite kot 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 obvezno izračunati število vrstic in stolpcev za prenos podatkov. Če imamo 5 vrstic in 3 stolpce, potem med prenašanjem postane 3 vrstice in 5 stolpcev.
  • Če želite isto 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