VBA väärtuste kleepimine ja kleepimine

See õpetus näitab teile, kuidas kasutada PasteSpeciali VBA -s, et kleepida ainult teatud lahtri atribuute (nt väärtused, vormingud)

Kui Excelis lahtrit kopeerite ja kleepite, kopeerite ja kleepite kõik lahtri omadused: väärtused, vormingud, valemid, numbrivorming, äärised jne:

Selle asemel saate kleepida spetsiaalselt, et kleepida ainult teatud lahtri atribuute. Excelis pääseb menüüsse Paste Special juurde kiirklahviga CTRL + ALT + V (pärast lahtri kopeerimist):

Siin näete kõiki lahtrite omaduste kombinatsioone, mida saate kleepida.

Kui salvestate makro menüü Paste Special menüü kasutamise ajal, saate lihtsalt loodud koodi kasutada. See on sageli lihtsaim viis VBA -d spetsiaalse kleepimiseks kasutada.

Väärtuste kleepimine

Väärtuste kleepimine kleebib ainult lahtri väärtuse. Kui lahter sisaldas valemit, kleepib kleepimisväärtused valemi tulemuse.

See kood kopeerib ja kleepib ühe töölehe ühe lahtri väärtused:

12 Vahemik ("A1"). KopeeriVahemik ("B1"). PasteSpecial Paste: = xlPasteValues

Kopeerige ja lisage väärtus erinevale lehele

See näide kopeerib ja kleepib erinevate töölehtede üksikute lahtrite väärtusi

12 Arvutustabelid ("leht 1"). Vahemik ("A1"). KopeeriArvutustabelid ("leht 2"). Vahemik ("B1"). Kleebi

Need näited kopeerivad ja kleepivad lahtrite vahemike väärtusi.

Kopeerimis- ja väärtuskleebi vahemikud

12 Vahemik ("A1: B3"). KopeeriVahemik ("C1"). PasteSpecial Paste: = xlPasteValues

Veergude kopeerimine ja väärtuste kleepimine

12 Veerud ("A"). KopeeriVeerud ("B"). PasteSpecial Paste: = xlPasteValues

Ridade kopeerimine ja väärtuste kleepimine

12 Ridad (1). KopeeriRidad (2). Kleebi eripasta: = xlPasteValues

Kleebi väärtused ja numbrivormingud

Väärtuste kleepimine kleebib ainult lahtri väärtuse. Vormindamist, sealhulgas numbrivormingut, ei kleebita.

Sageli soovite väärtuste kleepimisel lisada ka numbrivormingu, et teie väärtused jääksid vormindatuks. Vaatame näidet.

Siin väärtustame protsent sisaldava lahtri kleepimist:

12 Arvutustabelid ("Leht1"). Veerud ("D"). KopeeriArvutustabelid ("leht 2"). Veerud ("B"). PasteSpecial Paste: = xlPasteValues

Pange tähele, kuidas protsentide vormindamine on kadunud ja selle asemel kuvatakse lohakas kümnendväärtus.

Selle asemel kasutame väärtuste ja numbrite kleepimise vorminguid:

12 Arvutustabelid ("Leht1"). Veerud ("D"). KopeeriArvutustabelid ("leht 2"). Veerud ("B"). Kleebi

Nüüd näete, et ka numbrite vormindamine on kleebitud, säilitades protsendivormingu.

.Väärtus .Pasta asemel

Väärtuste kleepimise asemel võite kasutada objekti Vahemik atribuuti Value:

See seab A2 lahtri väärtuse võrdseks B2 lahtri väärtusega

1 Vahemik ("A2"). Väärtus = vahemik ("B2"). Väärtus

Samuti saate määrata lahtrite vahemiku, mis võrdub ühe lahtri väärtusega.

1 Vahemik ("A2: C5"). Väärtus = vahemik ("A1"). Väärtus

või lahtrite vahemik, mis on võrdne teise identse suurusega lahtrivahemikuga:

1 Vahemik ("B2: D4"). Väärtus = vahemik ("A1: C3"). Väärtus

Atribuudi Value kasutamine on vähem trükkimist. Samuti, kui soovite Exceli VBA -ga hakkama saada, peaksite olema tuttav lahtrite väärtusega atribuut.

Lahtri väärtus vs väärtus2 atribuut

Tehniliselt on parem kasutada lahtri atribuuti Value2. Väärtus2 on veidi kiirem (see on oluline ainult eriti suurte arvutuste korral) ja atribuut Väärtus võib anda teile kärbitud tulemuse, kui lahter on vormindatud valuutaks või kuupäevaks. Siiski kasutab 99%+ minu nähtud koodist väärtust .Väärtus, mitte .Väärtus2. Mina isiklikult ei kasuta .Väärt2, kuid peaksite olema teadlik selle olemasolust.

1 Vahemik ("A2"). Väärtus2 = Vahemik ("B2"). Väärtus2

Copy Paste Builder

Oleme loonud kopeerimiskoodi koostaja, mis hõlbustab VBA -koodi genereerimist lahtrite kopeerimiseks (või lõikamiseks) ja kleepimiseks. Ehitaja on meie osa VBA lisandmoodul: AutoMacro.

AutoMacro sisaldab ka palju muud Koodigeneraatorid, ulatuslik Kooditeek, ja võimas Kodeerimisvahendid.

Kleebi spetsiaalselt - vormingud ja valemid

Lisaks kleepimisväärtustele on kõige tavalisemad kleepimise erivõimalused kleepimisvormingud ja kleepimisvalemid

Vormingute kleepimine

Vormingute kleepimine võimaldab kleepida kogu lahtri vormingu.

12 Vahemik ("A1: A10"). KopeeriVahemik ("B1: B10"). PasteSpecial Paste: = xlPasteFormats

Kleebi valemid

Valemite kleepimine kleebib ainult lahtrivalemid. See on ka äärmiselt kasulik, kui soovite kopeerida lahtrivalemeid, kuid ei soovi kopeerida lahtri taustavärve (või muud lahtrite vormindamist).

12 Vahemik ("A1: A10"). KopeeriVahemik ("B1: B10"). PasteSpecial Paste: = xlPasteFormulas

Kleebi valemid ja numbrivormingud

Sarnaselt ülaltoodud väärtuste ja numbrivormingute kleepimisega saate kopeerida ja kleepida ka numbrivorminguid koos valemitega

Siin kopeerime lahtrivalemi ainult raamatupidamisarvestuse vormindamise ja kleepimise valemitega.

12 Arvutustabelid ("leht 1"). Vahemik ("D3"). KopeeriArvutustabelid ("leht 2"). Vahemik ("D3"). KleebiSpecial xlPasteFormulas

Pange tähele, kuidas numbrivorming on kadunud ja selle asemel kuvatakse lohakas ümardamata väärtus.

Selle asemel kasutage kleepimisvalemite ja numbrite vorminguid:

12 Arvutustabelid ("leht 1"). Vahemik ("D3"). KopeeriArvutustabelid ("leht 2"). Vahemik ("D3"). KleebiSpecial xlPasteFormulasAndNumberFormats

Nüüd näete, et ka numbrivorming on kleebitud, säilitades raamatupidamisvormingu.

Kleebi spetsiaalselt - ülevõtmine ja vahelejätmine

Paste Special - ülevõtmine

Paste Special Transpose võimaldab kleepida ja kleepida lahtreid, muutes orientatsiooni ülalt alla vasakule paremale (või vastupidi):

12 Arvutustabelid ("leht 1"). Vahemik ("A1: A5"). KopeeriArvutustabelid ("Sheet1"). Vahemik ("B1"). PasteSpecial Transpose: = True

Kleebi spetsiaalselt - jätke tühjad vahele

Toorikute vahelejätmine on pasta spetsiaalne valik, mida ei kasutata nii sageli kui peaks. See võimaldab kopeerimisel ja kleepimisel kopeerida ainult tühje lahtreid. Seega tühje lahtreid ei kopeerita.

Selles näites allpool. Kopeerime veeru A, teeme tavalise pasta veergu B ja jätame tühjad kleebi veergu C. Näete, et tühjad lahtrid ei kleebitud alloleval pildil veergu C.

123 Arvutustabelid ("leht 1"). Vahemik ("A1: A5"). KopeeriArvutustabelid ("Leht1"). Vahemik ("B1"). KleebiSpecial SkipBlanks: = ValeArvutustabelid ("Sheet1"). Vahemik ("C1"). PasteSpecial SkipBlanks: = True

Muud kleepimise erivalikud

Paste Special - Kommentaarid

1 Arvutustabelid ("leht 1"). Vahemik ("A1"). Lehtede kopeerimine ("leht 1"). Vahemik ("E1"). KleebiSpecial xlPasteComments

Paste Special - valideerimine

12 Lehed ("Sheet1"). Vahemik ("A1: A4"). KopeeriArvutustabelid ("leht 1"). Vahemik ("B1: B4"). PasteSpecial xlPasteValidation

Kleebi spetsiaalselt - kõik kasutavad allikateemat

123 Töövihikud (1). Lehed ("leht 1"). Vahemik ("A1: A2"). KopeerimineTöövihikud (2). Lehed ("leht 1"). Vahemik ("A1"). KleebiTöövihikud (2). Lehed ("Sheet1"). Vahemik ("B1"). PasteSpecial xlPasteAllUsingSourceTheme

Kleebi spetsiaalselt - kõik, välja arvatud piirid

123 Vahemik ("B2: C3"). KopeeriVahemik ("E2"). PasteSpecialVahemik ("H2"). PasteSpecial xlPasteAllExceptBorders

PasteSpecial - veeru laiused

Minu isiklik lemmik. PasteSpecial veerulaiused kopeerivad ja kleepivad veergude laiuse.

123 Vahemik ("A1: A2"). KopeeriVahemik ("C1"). PasteSpecialVahemik ("E1"). PasteSpecial xlPasteColumnWidths

PasteSpecial - kõik MergingConditionalFormats

123 Vahemik ("A1: A4"). KopeeriVahemik ("C1"). PasteSpecialVahemik ("E1"). PasteSpecial xlPasteAllMergingConditionalFormats

wave wave wave wave wave