VBA-liitä (vaiheittainen opas) - Kuinka liittää tietoja VBA-koodilla?

Sisällysluettelo

Excel VBA Liitä

On kolme erilaista tapaa liittää tietoja paikasta toiseen laskentataulukkoon VBA: n avulla. Ensimmäinen menetelmä on viitata arvot normaalisti solusta toiseen soluun käyttämällä määritysoperaattoria, toinen menetelmä on liittämistoiminnon ja kolmas menetelmä on käyttämällä pastespecial-toimintoa.

Kopiointi ja liittäminen on yleisin asia, jota teemme päivittäin työpaikallamme. Tavallisessa laskentataulukossa emme tarvitse mitään erityistä esittelyä siihen. VBA-ohjelmoinnissa on erittäin tärkeää ymmärtää "PASTE" -menetelmän käsite, jotta ymmärretään ohjelman siirtyminen seuraavalle tasolle.

Ymmärrä VBA-liittämismenetelmä tallentamalla makro

Menettelyn aloittamiseksi ymmärretään, miten liitä-menetelmä toimii tallentamalla yksinkertainen makro. Olen syöttänyt arvon soluun A1, kuten alla olevassa kuvassa näkyy.

Nyt näytän sinulle menetelmän kopioida ja liittää solusta A1 A3: een. Noudata alla olevia ohjeita makron tallentamiseksi.

Vaihe 1: Napsauta Record Macro -kohtaa Excel-kehittäjä-välilehdessä.

Vaihe 2: Kun napsautat ennätysmakroa, se näyttää sinulle oletusmakron nimen. Napsauta nyt OK.

Vaihe 3: Kun napsautat, ok, se alkaa tallentaa tekemäsi toiminnot. Ensimmäinen asia, joka sinun on tehtävä, on valita kopioitava solu A1.

Vaihe 4: Kopioi valittu solu nyt painamalla Ctrl + C.

Vaihe 5: Valitse nyt solu A3, johon meidän on liitettävä kopioitu arvo.

Vaihe 6: Liitä nyt painamalla Ctrl + V.

Vaihe 7: Lopeta nyt nauhoitukset.

Siirry visuaaliseen peruseditoriin nähdäksesi nauhoitukset. Alla ei ole nauhoitusta.

Ensimmäinen asia, jonka olemme tehneet tässä, on "olemme valinneet solun A1", joten tämän toiminnan koodi on Alue ("A1") Valitse

Seuraava toiminto on, että olemme kopioineet solun A1. Huomaa, että koodi ei ole Range (A1). Kopioi pikemminkin siinä lukee Valinta. Kopioi, tämä johtuu siitä, että kun valitset solun, siitä tulee joko aktiivinen solu tai valinta. Joten sitä kutsutaan Valinnaksi. Kopioi .

Kolmas aktiviteetti oli, että olemme valinneet solun A1 liitettäväksi, joten koodi on Range (“A3”). Valitse

Viimeinen toiminta on, että olemme liittäneet arvon soluun. Tässä se sanoo Aktiivinen taulukko, koska sillä hetkellä, kun valitset solun, siitä tulee aktiivisen arkin aktiivinen solu. Joten koodi on "ActiveSheet.Paste"

Näin Liitä-menetelmä toimii VBA: ssa.

Kaava

Alla on VBA-pastamenetelmän kaava:

Expression.Paste (Kohde, Linkki)

Lauseke ei ole muuta kuin mikä laskentataulukon nimi haluat liittää. Jos haluat ymmärtää laskentataulukko-objektia paremmin, lue artikkeli VBA-laskentataulukosta.

Voit viitata toiseen laskentataulukoon nimen mukaan. Jos haluat liittää samaan laskentataulukkoon, johon olet kopioinut, voit viitata nykyiseen taulukkoon valitsemalla "Aktiivinen taulukko".

Kohde: Kun taulukkonimi on mainittu, meidän on viitattava kohdesolun osoitteeseen. Esimerkiksi, jos haluat liittää laskentataulukkoon "Myyntitiedot" ja soluun A5 - A10, alla on esimerkkikoodi.

Laskentataulukot ("Myyntitiedot"). Alue ("A5: A10")

Jos ohitat tämän argumentin, mitä tahansa aktiivista solua käsitellään kohdesoluna.

Linkki: Jos haluat luoda linkin kopioidulle alueelle, voit antaa argumentin TOSI tai muuten EPÄTOSI.

Esimerkkejä liittämismenetelmästä Excel VBA: ssa

Alla on esimerkkejä Excel VBA Paste -menetelmästä.

Esimerkki # 1 - Liitä samaan Excel-laskentataulukkoon

Katsotaan nyt VBA-pastamenetelmän käyttöä samassa taulukossa. Esimerkiksi esittely, minulla on vain vähän arvoja solusta A1 A5.

Nyt haluan kopioida tämän ja liittää C1: stä C5: een. Kirjoita koodi itse noudattamalla seuraavia ohjeita.

Vaihe 1: Ennen kuin lähetämme mitään, meidän on ensin kopioitava datavalikoima. Joten kopioi alue A1: stä A5: een.

Koodi:

Sub Paste_Example1 () -alue ("A1: A5"). Kopioi End Sub

Vaihe 2: Kopioinnin jälkeen meidän on määritettävä, mihin liitämme. Tätä varten meidän on määritettävä laskentataulukon nimi. Tässä tapauksessa, koska liitämme saman arkin, käytä Active Sheet -objektia.

Koodi:

Sub Paste_Example1 () -alue ("A1: A5"). Kopioi ActiveSheet.Paste End Sub

Vaihe 3: Kun olet valinnut liittämistavan, meidän on määritettävä myös kohde. Joten määränpää on alue C1 – C5.

Koodi:

Aliliitä_esimerkki1 () Alue ("A1: A5"). Kopioi ActiveSheet.Liittokohde: = Alue ("C1: C5") Lopeta ali

Vaihe 4: En halua nyt luoda mitään linkkiä tähän VBA-liitäntämenetelmään, joten jätän huomiotta seuraavan argumentin.

Suorita tämä koodi nyt F5-näppäimellä tai manuaalisesti, se kopioi A1: stä A5: een ja liittää C1: stä C5: een.

Jos tarkastelet arvoja C1: stä C5: een, nämä arvoalueet ovat solussa A1 - A5. Joten tämä VBA-pastamenetelmä kopioi kaiken ja liittää kaiken.

Nyt käytän LINK-argumenttia nähdäksesi, miten se toimii. LINK: n väitteeksi olen antanut TOSI.

Koodi:

Sub Paste_Example1 () -alue ("A1: A5"). Kopioi ActiveSheet.Paste-linkki: = True End Sub

Tämä luo linkin soluun A1: stä A5: een.

Joten se on luonut linkin. Yksi merkittävä puuttuva asia on solujen muotoilu täällä. Se ei ole liittänyt mitään muotoilutyylejä.

Esimerkki # 2 - Liitä erilaisiin Excel-laskentataulukkoihin

Kopioiminen yhdestä laskentataulukosta toiseen työarkille edellyttää laskentataulukoiden nimiä. Oletetaan, että haluat kopioida tiedot arkista "Ensimmäinen arkki" ja haluat liittää alla olevaan "Toinen arkki" -taulukkoon on tapa viitata arkeihin.

Koodi:

Aliliitä_esimerkki2 () laskentataulukot ("Ensimmäinen arkki"). Alue ("A1: A5"). Kopioi laskentataulukot ("toinen arkki"). Liitä määränpää: = Alue ("C1: C5") Loppuosa

Tämä kopioi tiedot A1: stä A5: een arkin nimestä nimeltä "Etunimi", ja sitten se liitetään "Toinen arkki" -välilehteen välillä C1 - C5.

Voit ladata VBA Liitä -mallin täältä: - VBA Liitä Excel-malli

Mielenkiintoisia artikkeleita...