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 |