VBA ülevõtmine (samm-sammult) | 2 parimat meetodit VBA-sse ülevõtmiseks

Oleme Exceli töölehel näinud transponeerimisfunktsiooni, kui kleebime töölehele suvalise andmetabeli. Üleminekuks on see, et see muudab ridade ja veergude positsiooni, st ridadest saavad veerud ja veergudest saab andmetabeli read, kuna see on nüüd tööleht funktsiooni VBA-s, kasutame seda VBA-s meetodiga Application.worksheet.

Kuidas VBA-s üle kanda?

Ridade ja veergude vahetamine on üks andmetega manipuleerimise tehnikatest, mida peaaegu kõik kasutajad excelis teevad. Protsessi horisontaalsete andmete vertikaalseks ja vertikaalseks horisontaalseks muutmiseks nimetatakse Excelis “Transpose”. Olen kindel, et peate olema tavalises töölehel üleviimisega tuttav. Selles artiklis me näitame teile, kuidas kasutada üleviimismeetodit VBA kodeerimisel.

Saame VBA-s üle kanda, kasutades kahte meetodit.

  1. Ülekandmiseks kasutage valemit TRANSPOSE.
  2. Ülekandmine Paste Special Method abil.

Ülevõtmisel vahetame read veergudeks ja veerud ridadeks. Näiteks kui andmed on 4 X 3 massiivis, siis saab neist 3 X 4 massiiv.

Vaatame mõningaid näiteid VBA veergude reale üleviimiseks.

# 1 - VBA ülekandmine valemi TRANSPOSE abil

Sarnaselt sellele, kuidas me kasutame rakenduses TRANSPOSE Excelis, saame ka TRBA-valemit kasutada VBA-s. Meil ei ole VBA-s valemit TRANSPOSE, seega peame seda kasutama klassis Worksheet Function.

Näite saamiseks vaadake allolevat andmepilti.

Püüame selle väärtuste massiivi üle kanda. Andmete üleviimiseks toimige järgmiselt.

1. samm: alustage alamprotseduuri

Kood:

 Sub Transpose_Example1 () End Sub 

2. samm: kõigepealt peame otsustama, kuhu me andmed üle võtame. Selles olen valinud raku D1 ülekandmise H2-le. Niisiis, sisestage VBA kood vahemikuks ("D1: H2"). Väärtus =

Kood:

 Sub Transpose_Example1 () vahemik ("D1: H2"). Väärtus = End Sub 

3. samm: nüüd vajame ülalnimetatud vahemikus vahemiku A1 kuni B5 väärtust. Selle avatud töölehefunktsiooni klassi jõudmiseks valige valem „Transpose”.

Etapp 4: In Arg 1 tarnimise andmete lähtevahemik st Range ( "A1: D5") .

Kood:

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

Ok, oleme valemite kodeerimisega TRANSPOSE valmis. Nüüd käivitage kood, et näha tulemust lahtrivahemikus D1 kuni H2.

Nagu nägime ülaltoodud pilti, on see teisendanud lahtrite vahemiku veergudest ridadeks.

# 2 - VBA üleviimine spetsiaalse kleepimismeetodi abil

Võime üle võtta ka spetsiaalse kleepimise meetodi abil. Mõelge ka selle näite jaoks samadele andmetele.

Esimene asi, mida peame ülevõtmiseks tegema, on andmete kopeerimine. Nii kirjutage kood vahemikuks (“A1: B5”). Kopeeri

Kood:

 Sub Transpose_Example2 () vahemik ("A1: B5"). Kopeeri End Sub 

Järgmine asi on see, et peame otsustama, kuhu me andmed kleepime. Sel juhul olen valinud soovitud sihtkoharakuks D1.

Kood:

Sub Transpose_Näide2 () vahemik ("A1: B5"). Kopeerimisvahemik ("D1"). Lõpeta alam

Kui soovitud sihtkoha lahter on valitud, peame valima „Kleebi erimeetod“.

Spetsiaalse pastaga saame töölehel teha kõik toimingud tavaliste spetsiaalsete kleepimismeetoditega.

Eirake kõiki parameetreid ja valige viimane parameeter, st Transponeerige ja tehke see tõeks.

Kood:

 Sub Transpose_Example2 () vahemik ("A1: B5"). Kopeerimisvahemik ("D1"). PasteSpecial Transpose: = True End Sub 

See võtab andmed üle ka nagu eelmine meetod.

Nii võime andmete üleviimiseks veergudele ja veergudele ridadeks vahetamiseks kasutada valemit TRANSPOSE või Paste Special.

Asjad, mida meeles pidada

  • Kui kasutame töölehe TRANSPOSE funktsiooni, on andmete ülevõtmiseks kohustuslik arvutada mitu rida ja veergu. Kui meil on 5 rida ja 3 veergu, siis üleviimise korral saab sellest 3 rida ja 5 veergu.
  • Kui soovite spetsiaalset kleepimist kasutades sama vormindust, peate argumenti Kleebi tüüp kasutama kui „xlPasteFormats”

Selle VBA Transpose Exceli malli saate alla laadida siit - VBA Transpose Exceli mall