VBA Paste Special Excel-arvojen ja -muotojen kopioimiseksi Excelissä (9 esimerkkiä) -

  • Jaa Tämä
Hugh West

Kun meidän on kopioitava ja liimattava tietoja Microsoft Excelissä, meillä on Excelissä erilaisia pikakuvakkeita ja nauhatyökaluja. Excel. VBA Makro on myös tällainen mahdollisuus pikemminkin kuin työkirjan vaihtoehtoja. Keskustelemme VBA Paste Special arvot ja muodot Excelissä.

Lataa harjoituskirja

Lataa tämä harjoituskirja, jotta voit harjoitella tätä artikkelia lukiessasi.

Arvot ja muodot PasteSpecial.xlsm:n avulla

9 esimerkkiä arvojen ja muotojen kopioimisesta Excel VBA:n Paste Special -ohjelman avulla

Tässä artikkelissa keskustelemme 9 menetelmää VBA-makrot Liitä Special arvot ja muotoilu Excelissä.

Tarkastelemme tätä tarkoitusta varten jäljempänä esitettyä tietokokonaisuutta.

1. Käytä InputBoxia VBA:ssa Paste Special -ominaisuutta arvojen ja muotojen kopioimiseksi.

Käytämme tässä esimerkissä InputBox-vaihtoehtoa, jotta voimme Liitä Special .

Vaihe 1:

  • Mene osoitteeseen Kehittäjä välilehti.
  • Klikkaa Record makro .
  • Aseta Excel_Paste_Special_1 kuten Makron nimi .
  • Paina sitten OK .

Vaihe 2:

  • Napsauta nyt Makrot komento.
  • Valitse Makro ja paina sitten Astu sisään .

Vaihe 3:

  • Kopioi ja liitä seuraava koodi komentomoduuliin.
 Sub Excel_Paste_Special_1() Dim Copy_Cell As Range, Paste_Cell As Range xTitleId = "Salary_Sheet" Set Copy_Cell = Application.Selection Set Copy_Cell = Application.InputBox("Select Range to Copy :", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Liitä mihin tahansa tyhjään soluun:", xTitleId, Type:=8) Copy_Cell.Copy Paste_Cell.Parent.Activate Paste_Cell.PasteSpecialxlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub 

Vaihe 4:

  • Paina F5 koodin suorittamiseksi.
  • Näyttöön tulee uusi valintaikkuna. Valitse siinä lähdealue.
  • Paina sitten OK .

Vaihe 5:

  • Näyttöön tulee toinen valintaikkuna. Valitse tyhjä alue, johon kopioidut solut liitetään.

Katso nyt tietokokonaisuutta.

Kaikki tiedot kopioidaan arvojen ja formaattien kanssa käyttämällä komentoa VBA Paste Special .

Lue lisää: VBA PasteSpecialin soveltaminen ja lähteen muotoilun säilyttäminen Excelissä

2. Lisää soluväli arvojen ja muotojen kanssa käyttämällä xlPasteAllUsingSourceThemea VBA:n Paste Special -ohjelmassa.

Lisäämme solualueen suoraan VBA koodi tässä osassa.

Vaihe 1:

  • Paina Alt+F11 päästäksesi komentomoduuliin.
  • Laita seuraava koodi komentomoduuliin.
 Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Vaihe 2:

  • Paina nyt F5 koodin suorittamiseksi.

Tämä xlPasteAllUsingSourceTheme komento kopioi lähdetietojen tarkan kopion.

Lue lisää: Excel VBA: Solun arvon kopioiminen ja liittäminen toiseen soluun

3. Käytä VBA-muuttujaa alueen lisäämiseen arvojen ja muotojen kanssa käyttämällä Paste Special -ohjelmaa.

Näytämme muuttujien käytön muuttujissa VBA Paste Special koodi täällä.

Vaihe 1:

  • Siirry ensin komentomoduuliin painamalla Alt+F11 .
  • Kirjoita alla oleva koodi komentomoduuliin.
 Sub Excel_Paste_Special_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Vaihe 2:

  • Paina F5 ja suorita koodi.

Lue lisää: Excel VBA: Kopioi alue toiseen työkirjaan

4. Käytä xlPasteValues- ja xlPasteFormats-ohjelmia kopioidaksesi arvoja ja muotoja toiselle arkille pitäen muodot muuttumattomina.

Edellä mainittuja menetelmiä käytettiin tietojen kopioimiseen ja liittämiseen samalle arkille. Nyt näytetään, miten käytetään komentoa VBA Paste Special eri arkkeja varten.

Vaihe 1:

  • Siirry komentomoduuliin napsauttamalla Alt+F11 ja kopioi siihen seuraava koodi.
 Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Destination.PasteSpecial Liitä:=xlPasteValues Destination.PasteSpecial Liitä:=xlPasteFormats.Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Vaihe 2:

  • Paina F5 koodin suorittamiseksi.

Voimme nähdä, että tiedot Data_Set kopioidaan Different_Sheet .

Lue lisää: VBA PasteSpecial -ohjelman käyttäminen Excel-kaavojen ja -muotojen kaavoihin (3 tapaa)

Samanlaisia lukemia

  • Kuinka kopioida useita soluja toiseen Excel-arkkiin (9 menetelmää)
  • Liitä ja liitä erikoisliitoksen ero Excelissä
  • Excel VBA kopioida tietoja toisesta työkirjasta avaamatta sitä
  • Kuinka kopioida ja liittää Excelissä ja säilyttää solun koko (7 esimerkkiä)
  • Kopioi ja liitä arvot seuraavalle tyhjälle riville Excel VBA: lla (3 esimerkkiä)

5. Käytä xlPasteFormats-ohjelmaa liittääksesi vain muotoilut.

Edellisissä menetelmissä kopioimme koko datan ja liitimme sen ilman muutoksia. Tässä osassa kopioimme kuitenkin vain datan muodon.

Vaihe 1:

  • Siirry komentomoduuliin painamalla Alt+F11 .
  • Kopioi ja liitä alla oleva koodi komentomoduuliin.
 Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub 

Vaihe 2:

  • Paina nyt F5 painiketta ja suorita koodi.

Katso tietokokonaisuutta. Vain muodot on kopioitu, arvoja ei ole.

Lue lisää: Kopioiminen ja liittäminen Excelissä muuttamatta muotoa

6. Käytä xlPasteValues-toimintoa liittääksesi vain arvot.

Voimme kopioida arvot vain käyttämällä VBA Paste Special .

Vaihe 1:

  • Paina Alt+F11 päästäksesi komentomoduuliin.
  • Kirjoita seuraava koodi komentomoduuliin.
 Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub 

Vaihe 2:

  • Klikkaa F5 ja suorita koodi.

Tässä kopioidaan vain arvot, eikä tässä menetelmässä kopioida formaatteja.

Lue lisää: VBA: n käyttäminen vain arvojen liittämiseen ilman muotoilua Excelissä

7. Kopioi ja liitä yksittäisen solun koko sisältö

Edellisissä osioissa kopioimme tietuealueen. Tässä kopioimme vain yhden solun.

Vaihe 1:

  • Paina nyt Alt+F11 ja astu komentomoduuliin.
  • Kirjoita seuraava koodi moduuliin.
 Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Vaihe 2:

  • Paina nyt F5 painiketta koodin suorittamiseksi.

Näemme, että tässä kopioidaan yksittäinen solu, ei aluetta.

Lue lisää: Kaava Excel-arvojen kopioimiseksi ja liittämiseksi (5 esimerkkiä)

8. Kopioi ja liitä tietyn sarakkeen kaikki attribuutit VBA:lla.

Yksittäisen solun tavoin voimme kopioida yksittäisen sarakkeen tietokokonaisuudesta.

Vaihe 1:

  • Paina yksinkertaisesti Alt+F11 päästäksesi komentomoduuliin.
  • Kirjoita alla oleva koodi moduuliin.
 Sub Excel_Paste_Special_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Columns("C") Set paste_rng = Columns("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Vaihe 2:

  • Suorita koodi painamalla F5 .

Täältä näemme, että Sarake B kopioidaan Sarake E .

Lue lisää: [Korjattu]: Oikealla napsautuksella kopioiminen ja liittäminen ei toimi Excelissä (11 ratkaisua)

9. Rivin kaikkien ominaisuuksien kopiointi ja liittäminen Excel VBA:lla

Vastaavasti voimme kopioida yksittäisen rivin käyttämällä komentoa Liitä Special .

Vaihe 1:

  • Klikkaa Alt+F11 siirtyäksesi komentomoduuliin.
  • Kopioi seuraava koodi komentomoduuliin.
 Sub Excel_Paste_Special_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Vaihe 2:

  • Suorita koodi painamalla F5 .

Tässä, Rivi 4 kopioidaan Rivi 11 .

Lue lisää: Kuinka kopioida useita rivejä Excelissä käyttämällä makroa (4 esimerkkiä)

Päätelmä

Tässä artikkelissa olemme selittäneet 9 VBA Paste Special -menetelmät ja -muodot Excelissä. Toivottavasti tämä tyydyttää tarpeesi. Tutustu verkkosivuihimme. Exceldemy.com ja anna ehdotuksesi kommenttikenttään.

Hugh West on erittäin kokenut Excel-kouluttaja ja analyytikko, jolla on yli 10 vuoden kokemus alalta. Hän on koulutukseltaan laskentatoimen ja rahoituksen kandidaatti sekä kauppatieteiden maisteri. Hughilla on intohimo opettamiseen, ja hän on kehittänyt ainutlaatuisen opetusmenetelmän, jota on helppo seurata ja ymmärtää. Hänen asiantuntemuksensa Excelistä on auttanut tuhansia opiskelijoita ja ammattilaisia ​​maailmanlaajuisesti parantamaan taitojaan ja menestymään urallaan. Blogissaan Hugh jakaa tietämyksensä maailman kanssa tarjoamalla ilmaisia ​​Excel-opetusohjelmia ja verkkokoulutusta auttaakseen yksilöitä ja yrityksiä saavuttamaan täyden potentiaalinsa.