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

Lang L: none (table-of-contents)

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 tavalises töölehel üleviimist tundma. Selles artiklis näitame teile, kuidas kasutada transponeerimismeetodit VBA kodeerimisel.

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

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

Ülevõtmisel vahetame ridu veergudeks ja veerge 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 sellega, kuidas me kasutame TRANSPOSE-i excelis sarnaselt, võime ka TRBA-režiimi kasutada VBA-s. VBA-s pole meil TRANSPOSE-valemit, seega peame seda kasutama klassi Worksheet Function all.

Näiteks 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: Esiteks 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 Transpos_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, esitaks andmed lähtevahemik, st Range ( "A1: D5") .

Kood:

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

Ok, meil on valemite kodeerimine TRANSPOSE. Nüüd käivitage kood, et näha tulemust lahtrivahemikus D1 kuni H2.

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

# 2 - VBA üleviimine spetsiaalse kleepimismeetodi abil

Võime üle võtta ka spetsiaalse kleepimise meetodil. 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 soovitud sihtkoharakuks valinud 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 Transpose, 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 ajal 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.

Huvitavad Artiklid...