VBA Value Paste & PasteSpecial

Ovaj će vam vodič pokazati kako koristiti PasteSpecial u VBA za lijepljenje samo određenih svojstava ćelija (npr. Vrijednosti, formati)

U Excelu, kada kopirate i zalijepite ćeliju, kopirate i zalijepite sva svojstva ćelije: vrijednosti, formate, formule, oblikovanje brojeva, obrube itd .:

Umjesto toga, možete "Posebno zalijepiti" da biste zalijepili samo određena svojstva ćelija. U Excelu se izborniku Paste Special može pristupiti pomoću prečaca CTRL + ALT + V (nakon kopiranja ćelije):

Ovdje možete vidjeti sve kombinacije svojstava ćelija koje možete zalijepiti.

Ako snimite makronaredbu dok koristite Posebni izbornik lijepljenja, možete jednostavno upotrijebiti generirani kôd. Ovo je često najjednostavniji način korištenja VBA za posebno lijepljenje.

Zalijepi vrijednosti

Zalijepi vrijednosti samo zalijepljuje "vrijednost" ćelije. Ako je ćelija sadržavala formulu, Zalijepi vrijednosti zalijepit će rezultat formule.

Ovaj kôd će kopirati i zalijepiti vrijednosti za jednu ćeliju na istom radnom listu:

12 Raspon ("A1"). KopirajRaspon ("B1"). PasteSpecial Paste: = xlPasteValues

Kopiraj i zalijepi vrijednost na drugi list

Ovaj primjer će kopirati i zalijepiti vrijednosti za pojedinačne ćelije na različitim radnim listovima

12 Listovi ("List1"). Raspon ("A1"). KopirajListovi ("List 2"). Raspon ("B1"). ZalijepiSpecijalno zalijepi: = xlPasteValues

Ovi primjeri će kopirati i zalijepiti vrijednosti za niz ćelija:

Rasponi kopiranja i umetanja vrijednosti

12 Raspon ("A1: B3"). KopirajRaspon ("C1"). PasteSpecial Paste: = xlPasteValues

Kopiranje i stupci zalijepljenja vrijednosti

12 Stupci ("A"). KopirajStupci ("B"). PasteSpecial Paste: = xlPasteValues

Kopiraj i zalijepi vrijednosti

12 Redci (1) .KopirajRedci (2) .PasteSpecial Paste: = xlPasteValues

Zalijepite vrijednosti i formate brojeva

Vrijednosti lijepljenja zalijepit će samo vrijednost ćelije. Nije zalijepljeno oblikovanje, uključujući oblikovanje broja.

Često kada zalijepite vrijednosti vjerojatno ćete htjeti uključiti i oblikovanje broja kako bi vaše vrijednosti ostale oblikovane. Pogledajmo primjer.

Ovdje ćemo vrednovati zalijepiti ćeliju koja sadrži postotak:

12 Listovi ("List1"). Stupci ("D"). KopirajListovi ("List 2"). Stupci ("B"). ZalijepiSpecijalno zalijepi: = xlPasteValues

Primijetite kako se formatiranje postotnog broja gubi i umjesto toga se prikazuje traljava decimalna vrijednost.

Umjesto toga upotrijebimo Zalijepi vrijednosti i formate brojeva:

12 Listovi ("List1"). Stupci ("D"). KopirajListovi ("List 2"). Stupci ("B"). ZalijepiPosebno zalijepi: = xlPasteValuesAndNumberFormats

Sada možete vidjeti da je oblikovanje broja također zalijepljeno, zadržavajući postotni format.

.Vrijednost umjesto .Pastava

Umjesto lijepljenja vrijednosti, mogli biste koristiti svojstvo Value objekta Range:

Time će vrijednost ćelije A2 biti jednaka vrijednosti ćelije B2

1 Raspon ("A2"). Vrijednost = Raspon ("B2"). Vrijednost

Također možete postaviti raspon ćelija jednak vrijednosti jedne ćelije:

1 Raspon ("A2: C5"). Vrijednost = Raspon ("A1"). Vrijednost

ili raspon ćelija jednak drugom rasponu ćelija identične veličine:

1 Raspon ("B2: D4"). Vrijednost = Raspon ("A1: C3"). Vrijednost

Manje je tipkanja za korištenje svojstva Value. Također, ako želite naučiti Excel VBA, trebali biste biti upoznati s radom sa svojstvom Value ćelija.

Vrijednost ćelije u odnosu na vrijednost 2 Svojstvo

Tehnički je bolje koristiti svojstvo Value2 ćelije. Value2 je nešto brži (to je važno samo s iznimno velikim izračunima), a svojstvo Value može vam dati skraćeni rezultat da se ćelija oblikuje kao valuta ili datum. Međutim, 99%+ koda koji sam vidio koristi .Value, a ne .Value2. Ja osobno ne koristim .Value2, ali morate biti svjesni da postoji.

1 Raspon ("A2"). Vrijednost2 = Raspon ("B2"). Vrijednost2

Copy Paste Builder

Napravili smo "Copy Paste Code Builder" koji olakšava generiranje VBA koda za kopiranje (ili izrezivanje) i lijepljenje ćelija. Graditelj je dio našeg VBA dodatak: AutoMacro.

AutoMacro sadrži i mnoge druge Generatori kodova, opsežan Knjižnica kodova, i moćan Alati za kodiranje.

Posebno lijepljenje - Formati i formule

Osim vrijednosti zalijepljenja, najčešće opcije zalijepljenja su formati zalijepljenja i formule zalijepljenja

Formati zalijepljenja

Formati zalijepljenja omogućuju vam da zalijepite sve oblikovanje ćelija.

12 Raspon ("A1: A10"). KopirajRaspon ("B1: B10"). PasteSpecial Paste: = xlPasteFormats

Zalijepite formule

Zalijepite formule zalijepite samo formule ćelija. Ovo je također iznimno korisno ako želite kopirati formule ćelija, ali ne želite kopirati boje pozadine ćelije (ili drugo oblikovanje ćelija).

12 Raspon ("A1: A10"). KopirajRaspon ("B1: B10"). ZalijepiPosebna zalijepi: = xlPasteFormulas

Zalijepite formule i formate brojeva

Slično gornjim vrijednostima lijepljenja i formatima brojeva, također možete kopirati i zalijepiti formate brojeva zajedno s formulama

Ovdje ćemo kopirati formulu ćelije samo s oblikovanjem računovodstvenog broja i zalijepiti formule.

12 Listovi ("List1"). Raspon ("D3"). KopirajListovi ("Sheet2"). Raspon ("D3"). PasteSpecial xlPasteFormulas

Uočite kako se formatiranje broja gubi i umjesto toga se prikazuje traljava zaokružena vrijednost.

Umjesto toga upotrijebimo Zalijepi formule i formate brojeva:

12 Listovi ("List1"). Raspon ("D3"). KopirajListovi ("List2"). Raspon ("D3"). ZalijepiSpecial xlPasteFormulasAndNumberFormats

Sada možete vidjeti da je oblikovanje broja također zalijepljeno, zadržavajući format računovodstva.

Posebno zalijepi - Transponiraj i preskoči prazna polja

Posebno zalijepi - Transponiraj

Zalijepi posebnu transpoziciju omogućuje vam kopiranje i lijepljenje ćelija mijenjajući orijentaciju odozgo-odozdo prema lijevo-desno (ili obrnuto):

12 Listovi ("List1"). Raspon ("A1: A5"). KopirajTablice ("List1"). Raspon ("B1"). ZalijepiPosebno premještanje: = Tačno

Posebno zalijepi - Preskoči prazna polja

Preskakanje praznina posebna je opcija zalijepljenja koja se ne koristi toliko često koliko bi trebala biti. Omogućuje vam kopiranje samo praznih ćelija pri kopiranju i lijepljenju. Dakle, prazne ćelije se ne kopiraju.

U ovom primjeru ispod. Kopirat ćemo stupac A, napraviti uobičajeno lijepljenje u stupac B i preskočiti zalijepljenje zalijepljenja u stupac C. Možete vidjeti da prazne ćelije nisu zalijepljene u stupac C na donjoj slici.

123 Listovi ("List1"). Raspon ("A1: A5"). KopirajTablice ("List1"). Raspon ("B1"). ZalijepiSpecijalne preskočne praznine: = NetačnoListovi ("List 1"). Raspon ("C1"). Zalijepi Specijalne preskočne praznine: = Tačno

Ostale mogućnosti lijepljenja

Posebno zalijepi - Komentari

1 Listovi ("List1"). Raspon ("A1"). Kopiraj listove ("List1"). Raspon ("E1"). ZalijepiSpecial xlPasteComments

Posebno zalijepi - Validacija

12 Listovi ("List1"). Raspon ("A1: A4"). KopirajListovi ("List1"). Raspon ("B1: B4"). PasteSpecial xlPasteValidation

Posebno zalijepi - svi koriste izvornu temu

123 Radne bilježnice (1) .Listovi ("List1"). Raspon ("A1: A2"). KopirajRadne bilježnice (2) .Listovi ("List1"). Raspon ("A1"). ZalijepiSpecialRadne knjige (2) .Listovi ("Sheet1"). Raspon ("B1"). PasteSpecial xlPasteAllUsingSourceTheme

Posebno zalijepi - sve osim obruba

123 Raspon ("B2: C3"). KopirajRaspon ("E2"). PasteSpecialRaspon ("H2"). PasteSpecial xlPasteAllExceptBorders

PasteSpecial - širine stupaca

Moj osobni favorit. PasteSpecial Coiln Widths će kopirati i zalijepiti širinu stupaca.

123 Raspon ("A1: A2"). KopirajRaspon ("C1"). PasteSpecialRaspon ("E1"). PasteSpecial xlPasteColumnWidths

PasteSpecial - Svi MergingConditionalFormati

123 Raspon ("A1: A4"). KopirajRaspon ("C1"). PasteSpecialRaspon ("E1"). PasteSpecial xlPasteAllMergingConditionalFormats

wave wave wave wave wave