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

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 aloittaminen antaa ymmärtää, 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 Range ("A1").

Seuraava toiminto on, että olemme kopioineet solun A1. Huomaa, että koodi ei ole Range (A1). Kopioi pikemminkin siinä lukee Selection. Kopioi, tämä johtuu siitä, että kun valitset solun, siitä tulee joko aktiivinen solu tai valinta. Joten sitä kutsuttiin 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-objektin, lue artikkeli VBA-taulukosta.

Voit viitata toiseen laskentataulukoon nimen mukaan, jos haluat liittää samalle laskentataulukolle, 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 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 ensin 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:

 Sub Paste_Example1 () -alue ("A1: A5"). Kopioi ActiveSheet.Liittokohde: = Alue ("C1: C5") End Sub 

Vaihe 4: Nyt en halua luoda mitään linkkiä tähän VBA-liitäntämenetelmään, joten ohitan seuraavaa argumenttia.

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

Jos tarkastellaan arvoja C1: stä C5: een, nämä arvot ovat kuten 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-argumentille 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 edellyttää laskentataulukoiden nimiä. Oletetaan, että haluat kopioida tiedot arkista "Ensimmäinen arkki" ja haluat liittää alla olevaan "Toinen arkki" -taulukkoon on tapa viitata taulukoihin.

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" -alueelle C1 - C5.

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


$config[zx-auto] not found$config[zx-overlay] not found