VBA Value Paste & PasteSpecial

Ta vadnica vam bo pokazala, kako s PasteSpecial v VBA prilepiti samo nekatere lastnosti celic (npr. Vrednosti, formati)

Ko kopirate in prilepite celico, v Excelu kopirate in prilepite vse lastnosti celice: vrednosti, oblike, formule, oblikovanje števil, obrobe itd .:

Namesto tega lahko »Posebno lepljenje« prilepite samo določene lastnosti celic. V Excelu lahko do posebnega prilepljenega menija dostopate s bližnjico CTRL + ALT + V (po kopiranju celice):

Tukaj si lahko ogledate vse kombinacije lastnosti celic, ki jih lahko prilepite.

Če med uporabo posebnega menija prilepite makro, lahko preprosto uporabite ustvarjeno kodo. To je pogosto najlažji način uporabe VBA za posebno lepljenje.

Prilepi vrednosti

Prilepi vrednosti le prilepi celico »vrednost«. Če je celica vsebovala formulo, bo rezultat formule prilepil Vnesi vrednosti.

Ta koda bo kopirala in prilepila vrednosti za eno celico na istem delovnem listu:

12 Obseg ("A1"). KopirajRange ("B1"). PasteSpecial Paste: = xlPasteValues

Kopiraj in prilepi vrednost na drug list

Ta primer bo kopiral in prilepil vrednosti za posamezne celice na različnih delovnih listih

12 Listi ("List1"). Obseg ("A1"). KopirajListi ("List2"). Obseg ("B1"). PasteSpecial Paste: = xlPasteValues

Ti primeri bodo kopirali in prilepili vrednosti za obseg celic:

Obsegi kopiranja in prilepitve vrednosti

12 Obseg ("A1: B3"). KopirajRange ("C1"). PasteSpecial Paste: = xlPasteValues

Stolpci Kopiraj in prilepi vrednost

12 Stolpci ("A"). KopirajStolpci ("B"). PasteSpecial Paste: = xlPasteValues

Vrstice za kopiranje in lepljenje vrednosti

12 Vrstice (1). KopirajVrstice (2). PasteSpecial Paste: = xlPasteValues

Prilepi vrednosti in oblike številk

Lepljenje vrednosti bo prilepilo samo vrednost celice. Oblikovanje ni prilepljeno, vključno z oblikovanjem številk.

Ko prilepite vrednosti, boste verjetno želeli vključiti tudi oblikovanje številk, tako da bodo vaše vrednosti ostale oblikovane. Poglejmo primer.

Tu bomo vrednost celice prilepili, ki vsebuje odstotek:

12 Listi ("List1"). Stolpci ("D"). KopirajListi ("List2"). Stolpci ("B"). PasteSpecial Paste: = xlPasteValues

Opazite, kako se izgubi oblikovanje odstotnega števila in namesto tega se prikaže neredna decimalna vrednost.

Namesto tega uporabimo oblike za lepljenje vrednosti in številk:

12 Listi ("List1"). Stolpci ("D"). KopirajListi ("List2"). Stolpci ("B"). PasteSpecial Paste: = xlPasteValuesAndNumberFormats

Zdaj lahko vidite, da je oblikovanje številk tudi prilepljeno in ohrani odstotno obliko.

.Vrednost namesto .Pasta

Namesto lepljenja vrednosti lahko uporabite lastnost Value predmeta Range:

S tem bo vrednost celice A2 enaka vrednosti celice B2

1 Razpon ("A2"). Vrednost = Razpon ("B2"). Vrednost

Nastavite lahko tudi obseg celic, ki je enak vrednosti ene celice:

1 Razpon ("A2: C5"). Vrednost = Razpon ("A1"). Vrednost

ali obseg celic, ki je enak drugemu območju celic enake velikosti:

1 Razpon ("B2: D4"). Vrednost = Razpon ("A1: C3"). Vrednost

Za uporabo lastnosti Value je manj tipkanja. Če želite obvladati Excel VBA, bi morali poznati delo z lastnostjo Value celic.

Lastnost celice v primerjavi z vrednostjo2

Tehnično je bolje uporabiti lastnost Value2 celice. Vrednost2 je nekoliko hitrejša (to je pomembno le pri izredno velikih izračunih) in lastnost Value vam lahko daje okrnjen rezultat celice, oblikovane kot valuta ali datum. Vendar 99%+ kode, ki sem jo videl, uporablja .Value in ne .Value2. Osebno ne uporabljam .Value2, vendar se morate zavedati, da obstaja.

1 Razpon ("A2"). Vrednost2 = Razpon ("B2"). Vrednost2

Copy Paste Builder

Ustvarili smo "Copy Paste Code Builder", ki olajša ustvarjanje kode VBA za kopiranje (ali izrezovanje) in lepljenje celic. Graditelj je del našega Dodatek VBA: AutoMacro.

AutoMacro vsebuje tudi veliko drugih Generatorji kod, obsežen Knjižnica kodin močan Orodja za kodiranje.

Posebno lepljenje - Oblike in formule

Poleg vrednosti prilepitve so najpogostejše možnosti za lepljenje posebne oblike zapisa oblik lepljenja in prilepitve

Oblike lepljenja

Prilepi oblike lahko prilepi vse oblikovanje celic.

12 Obseg ("A1: A10"). KopirajRange ("B1: B10"). PasteSpecial Paste: = xlPasteFormats

Prilepi formule

Prilepi formule bodo prilepile le formule celic. To je zelo koristno tudi, če želite kopirati formule celic, vendar ne želite kopirati barv ozadja celic (ali drugega oblikovanja celic).

12 Obseg ("A1: A10"). KopirajRange ("B1: B10"). PasteSpecial Paste: = xlPasteFormulas

Prilepite formule in oblike števil

Podobno kot zgoraj prilepite vrednosti in oblike številk, lahko tudi kopirate in prilepite oblike števil skupaj s formulami

Tu bomo kopirali formulo celice samo z oblikovanjem računovodskih številk in prilepi.

12 Listi ("List1"). Obseg ("D3"). KopirajListi ("List2"). Obseg ("D3"). PasteSpecial xlPasteFormulas

Upoštevajte, kako se izgubi oblikovanje številk, namesto tega je prikazana neokrnjena zaokrožena vrednost.

Namesto tega uporabimo oblike prilepi formule in številke:

12 Listi ("List1"). Obseg ("D3"). KopirajListi ("List2"). Obseg ("D3"). PrilepiSpecial xlPasteFormulasAndNumberFormats

Zdaj lahko vidite, da je oblikovanje številk prilepljeno in ohrani obliko računovodstva.

Posebno lepljenje - prestavite in preskočite prazna polja

Posebno lepljenje - Prenos

Prilepi poseben prenos vam omogoča kopiranje in lepljenje celic, ki spreminjajo orientacijo od zgoraj navzdol proti levi-desni (ali nasprotno):

12 Listi ("List1"). Obseg ("A1: A5"). KopirajListi ("List1"). Obseg ("B1"). PasteSpecial Transpose: = True

Posebno lepljenje - Preskoči prazna mesta

Preskočeni prazniki so posebna možnost paste, za katero se zdi, da se ne uporablja tako pogosto, kot bi morala. Omogoča kopiranje samo praznih celic pri kopiranju in lepljenju. Tako se prazne celice ne kopirajo.

V spodnjem primeru. Kopirali bomo stolpec A, naredili običajno lepljenje v stolpec B in preskočili prazno lepljenje v stolpec C. Vidite, da prazne celice niso bile prilepljene v stolpec C na spodnji sliki.

123 Listi ("List1"). Obseg ("A1: A5"). KopirajListi ("List1"). Obseg ("B1"). PrilepiSpecialne preskočne praznine: = FalseListi ("List1"). Obseg ("C1"). PrilepiSpecialne preskočne praznine: = True

Druge posebne možnosti lepljenja

Prilepi posebno - Komentarji

1 Listi ("List1"). Obseg ("A1"). Kopiraj liste ("List1"). Obseg ("E1"). PrilepiSpecial xlPasteComments

Posebno lepljenje - Validacija

12 Listi ("List1"). Obseg ("A1: A4"). KopirajListi ("List1"). Obseg ("B1: B4"). PasteSpecial xlPasteValidation

Posebno prilepi - vsi uporabljajo izvorno temo

123 Delovni zvezki (1). Listi ("List1"). Obseg ("A1: A2"). KopirajDelovni zvezki (2) .Listi ("List1"). Obseg ("A1"). PrilepiSpecialDelovni zvezki (2). Preglednice ("List1"). Obseg ("B1"). PasteSpecial xlPasteAllUsingSourceTheme

Posebno lepljenje - vse razen obrob

123 Obseg ("B2: C3"). KopirajObseg ("E2"). PasteSpecialRange ("H2"). PasteSpecial xlPasteAllExceptBorders

PasteSpecial - širine stolpcev

Moj osebni favorit. Širine stolpcev PasteSpecial bodo kopirale in prilepile širino stolpcev.

123 Obseg ("A1: A2"). KopirajObseg ("C1"). PasteSpecialObseg ("E1"). PasteSpecial xlPasteColumnWidths

PasteSpecial - Vsi mergingConditionalFormati

123 Obseg ("A1: A4"). KopirajRazpon ("C1"). PasteSpecialObseg ("E1"). PasteSpecial xlPasteAllMergingConditionalFormats

wave wave wave wave wave