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 |