V tej vadnici se boste naučili več različnih načinov kopiranja in lepljenja ter izrezi in prilepi z uporabo makra VBA. Za naprednejše možnosti kopiranja in lepljenja preberite spremljevalno vadnico o Value Pasting in PasteSpecial.
Če želite uporabiti to kodo: Odprite urejevalnik Visual Basic (Alt + F11), Vstavite nov modul (Vstavi> Modul) in kopirajte in prilepite želeno kodo v modul.
Kopiraj (izreži) in prilepi eno celico
Ta primer kopira ali izreže in prilepi eno celico, od A1 do B1:
123456789 | Sub Paste_OneCell ()'Kopiraj in prilepi eno celicoObseg ("A1"). Obseg kopiranja ("B1")'Izreži in prilepi eno celicoRazpon ("A1"). Obseg rezanja ("B1")End Sub |
Kopiraj izbor
Če želite kopirati aktivno izbiro, uporabite to:
123456789101112 | Sub CopySelection ()'Prilepi v določeno območjeSelection.copy range ("b1")'Offset Paste (premakne 2 celici navzdol in 1 v desnoSelection.copySelection.offset (2,1) .pasteApplication.CutCopyMode = NapačnoEnd Sub |
Kopirajte (izrežite) in prilepite obseg celic
Ta primer kopira ali izreže in prilepi obseg celic, A1: A3 v B1: B3:
123456789 | Sub Paste_Range ()'Kopirajte in prilepite obseg celicObseg ("A1: A3"). Obseg kopiranja ("B1: B3")'Izrežite in prilepite vrsto celicRazpon ("A1: A3"). Obseg rezanja ("B1: B3")End Sub |
Kopiraj (izreži) in prilepi cel stolpec
Spodaj bomo prikazali nekaj hitrih primerov. Za podrobne primere, razlage in različice preberite naš članek o kopiranju in lepljenju vrstic in stolpcev.
Ta primer kopira ali izreže in prilepi celoten stolpec, od A do B:
12345678910 | Sub PasteOneColumn ()'Kopiraj in prilepi stolpecObseg ("A: A"). Kopiraj obseg ("B: B")'Stolpec Izreži in prilepiRazpon ("A: A"). Obseg rezanja ("B: B")End Sub |
Kopiraj (izreži) in prilepi celo vrstico
Ta primer kopira ali izreže in prilepi celotno vrstico, 1 na 2:
12345678910 | Sub Paste_OneRow ()'Kopiraj in prilepi vrsticoObseg ("1: 1"). Kopiraj obseg ("2: 2")'Izreži in prilepi vrsticoRazpon ("1: 1"). Obseg rezanja ("2: 2")End Sub |
Kopirajte (izrežite) in prilepite na drug delovni list ali delovni zvezek
1234567891011121314 | Sub Paste_Other_Sheet_or_Book ()'Izreži ali kopiraj in prilepi na drug delovni listDelovni listi ("list1"). Obseg ("A1"). Kopiraj delovne liste ("list2"). Obseg ("B1") 'KopirajDelovni listi ("list1"). Obseg ("A1"). Izrežite delovne liste ("list2"). Obseg ("B1") 'Izreži'Izreži ali kopiraj in prilepi v drug delovni zvezekDelovni zvezki ("book1.xlsm"). Delovni listi ("list1"). Obseg ("A1"). Kopiraj _Delovni zvezki ("book2.xlsm"). Delovni listi ("list1"). Obseg ("B1") 'KopirajDelovni zvezki ("book1.xlsm"). Delovni listi ("list1"). Obseg ("A1"). Izreži _Delovni zvezki ("book2.xlsm"). Delovni listi ("list1"). Obseg ("B1") 'IzrežiApplication.CutCopyMode = NapačnoEnd Sub |
Prilepi vrednost
Običajno, ko kopirate in prilepite, prilepite vse lastnosti celice: oblikovanje, formule itd … Vrednostno lepljenje vam omogoča kopiranje in lepljenje vrednosti celic in nič drugega. Najlažji način za prilepitev vrednosti v VBA je, da vrednost celice določite neposredno:
123456789101112131415 | Sub ValuePaste ()'Vrednosti prilepite celiceRazpon ("B1"). Vrednost = Razpon ("A1"). VrednostRazpon ("B1: B3"). Vrednost = Razpon ("A1: A3"). Vrednost'Nastavi vrednosti med delovnimi listiDelovni listi ("list2"). Obseg ("A1"). Vrednost = Delovni listi ("list1"). Obseg ("A1"). Vrednost'Nastavite vrednosti med delovnimi zvezkiDelovni zvezki ("book2.xlsm"). Delovni listi ("list1"). Obseg ("A1"). Vrednost = _Delovni zvezki ("book1.xlsm"). Delovni listi ("list1"). Obseg ("A1"). VrednostApplication.CutCopyMode = NapačnoEnd Sub |
Posebno lepljenje
Posebno lepljenje vam omogoča kopiranje in lepljenje posebnih lastnosti celic (primeri: oblike, vrednosti, širine stolpcev itd.). Omogoča tudi izvajanje posebnih operacij lepljenja (primeri: preskočite prazne točke, prenesite). Spodaj si bomo ogledali več primerov, vendar za poglobljeno branje naše vadnice o vrednostih lepljenja in posebnem lepljenju.
12345678910111213141516171819 | Sub PasteSpecial ()„Izvedite eno operacijo ene paste:Obseg ("A1"). Kopiraj'Prilepi oblikeRange ("B1"). PasteSpecial Paste: = xlPasteFormats'Prilepi širine stolpcevRange ("B1"). PasteSpecial Paste: = xlPasteColumnWidths'Prilepi formuleRange ("B1"). PasteSpecial Paste: = xlPasteFormulas"Izvedite posebne operacije z več prilepitvami hkrati:Obseg ("A1"). Kopiraj'Prilepi oblike in prenesiteRange ("B1"). PasteSpecial Paste: = xlPasteFormats, Operacija: = xlNone, SkipBlanks: = _False, Transpose: = TrueApplication.CutCopyMode = NapačnoEnd Sub |
Počisti odložišče
Po kopiranju in lepljenju boste morda želeli počistiti odložišče (to počnemo v nekaterih zgornjih primerih kode). Če želite počistiti odložišče programa Excel, nastavimo Application.CutCopyMode na False:
1 | Application.CutCopyMode = Napačno |
S tem boste počistili odložišče programa Excel. Odlagališče Windows ne bo izbrisano. Če želite počistiti odložišče okna, sledite tem navodilom.