- Kopiera (klipp ut) och klistra in en enda cell
- Kopiera markering
- Kopiera (klipp ut) och klistra in ett antal celler
- Kopiera (klipp ut) och klistra in en hel kolumn
- Kopiera (klipp ut) och klistra in en hel rad
- Kopiera (klipp ut) och klistra in i ett annat kalkylblad eller en arbetsbok
- Värdepasta
- Klistra in special
I denna handledning lär du dig flera olika metoder för att kopiera och klistra in och klippa ut och klistra in med ett VBA -makro. Läs den kompletterande självstudien om Value Paste and PasteSpecial för mer avancerade kopierings- och klistringsalternativ.
För att använda den här koden: Öppna Visual Basic Editor (Alt + F11), Infoga en ny modul (Infoga> Modul) och kopiera och klistra in önskad kod i modulen.
Kopiera (klipp ut) och klistra in en enda cell
Detta exempel kopierar eller klipper och klistrar in en enda cell, A1 över till B1:
123456789 | Sub Paste_OneCell ()'Kopiera och klistra in en cellOmråde ("A1"). Kopieringsintervall ("B1")'Klipp ut och klistra in en cellOmråde ("A1"). Skärområde ("B1")Avsluta Sub |
Kopiera markering
Om du vill kopiera det aktiva valet använder du följande:
123456789101112 | Sub CopySelection ()'Klistra in i ett definierat områdeSelection.copy -intervall ("b1")'Offset Paste (förskjuter 2 celler ner och 1 till högerUrval. KopiaUrval. Förskjutning (2,1). Klistra inApplication.CutCopyMode = FalsktAvsluta Sub |
Kopiera (klipp ut) och klistra in ett antal celler
Detta exempel kopierar eller klipper och klistrar in ett cellområde, A1: A3 över till B1: B3:
123456789 | Sub Paste_Range ()'Kopiera och klistra in en rad cellerOmråde ("A1: A3"). Kopieringsintervall ("B1: B3")'Klipp ut och klistra in en rad cellerOmråde ("A1: A3"). Klippområde ("B1: B3")Avsluta Sub |
Kopiera (klipp ut) och klistra in en hel kolumn
Nedan kommer vi att visa ett par snabba exempel. Läs vår artikel om att kopiera och klistra in rader och kolumner för detaljerade exempel, förklaringar och variationer.
Detta exempel kopierar eller klipper och klistrar in en hel kolumn, A över till B:
12345678910 | Sub PasteOneColumn ()'Kopiera och klistra in kolumnenOmråde ("A: A"). Kopieringsintervall ("B: B")'Klipp ut och klistra in kolumnenOmråde ("A: A"). Klippområde ("B: B")Avsluta Sub |
Kopiera (klipp ut) och klistra in en hel rad
Detta exempel kopierar eller klipper och klistrar in en hel rad, 1 över till 2:
12345678910 | Sub Paste_OneRow ()'Kopiera och klistra in radOmråde ("1: 1"). Kopieringsintervall ("2: 2")'Klipp och klistra in radOmråde ("1: 1"). Klippområde ("2: 2")Avsluta Sub |
Kopiera (klipp ut) och klistra in i ett annat kalkylblad eller en arbetsbok
1234567891011121314 | Sub Paste_Other_Sheet_or_Book ()'Klipp ut eller kopiera och klistra in i ett annat kalkylbladArbetsblad ("blad1"). Område ("A1"). Kopiera kalkylblad ("blad2"). Område ("B1") 'KopieraArbetsblad ("blad1"). Område ("A1"). Klipp ut kalkylblad ("blad2"). Område ("B1") 'Klipp ut'Klipp ut eller kopiera och klistra in i en annan arbetsbokArbetsböcker ("bok1.xlsm"). Arbetsblad ("blad1"). Område ("A1"). Kopiera _Arbetsböcker ("book2.xlsm"). Arbetsblad ("blad1"). Område ("B1") 'KopieraArbetsböcker ("bok1.xlsm"). Arbetsblad ("blad1"). Område ("A1"). Klipp _Arbetsböcker ("book2.xlsm"). Arbetsblad ("blad1"). Område ("B1") 'Klipp utApplication.CutCopyMode = FalsktAvsluta Sub |
Värdepasta
Normalt, när du kopierar och klistrar in klistrar du in alla egenskaper för en cell: formatering, formler, etc. … Med värdepasta kan du kopiera och klistra in cellernas värden och inget annat. Det enklaste sättet att Value Paste i VBA är att definiera cellens värde direkt:
123456789101112131415 | Sub ValuePaste ()'Value Paste CellsOmråde ("B1"). Värde = Område ("A1"). VärdeOmråde ("B1: B3"). Värde = Område ("A1: A3"). Värde'Ställ in värden mellan kalkylbladArbetsblad ("blad2"). Intervall ("A1"). Värde = Arbetsblad ("blad1"). Intervall ("A1"). Värde'Ställ in värden mellan arbetsböckerArbetsböcker ("book2.xlsm"). Arbetsblad ("blad1"). Intervall ("A1"). Värde = _Arbetsböcker ("bok1.xlsm"). Arbetsblad ("blad1"). Intervall ("A1"). VärdeApplication.CutCopyMode = FalsktAvsluta Sub |
Klistra in special
Med Paste Special kan du kopiera och klistra in specifika egenskaper hos celler (exempel: format, värden, kolumnbredder, etc.). Det låter dig också utföra speciella klistraoperationer (exempel: hoppa över ämnen, transponera). Vi kommer att titta på flera exempel nedan, men för en fördjupad läs vår handledning om värdepasta och klistra in special.
12345678910111213141516171819 | Sub PasteSpecial ()'Utför en specialklistring:Område ("A1"). Kopiera'Klistra in formatOmråde ("B1"). PasteSpecial Paste: = xlPasteFormats'Klistra in kolumnbredderOmråde ("B1"). PasteSpecial Paste: = xlPasteColumnWidths'Klistra in formlerOmråde ("B1"). PasteSpecial Paste: = xlPasteFormulas'Utför flera klistra in specialoperationer på en gång:Område ("A1"). Kopiera'Klistra in format och transponeraOmråde ("B1"). PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, SkipBlanks: = _Falskt, Transponera: = SantApplication.CutCopyMode = FalsktAvsluta Sub |
Rensa Urklipp
Efter kopiering och klistring kanske du vill rensa Urklipp (vi gör i några av koden exemplen ovan). För att rensa Excel -urklipp, ställer vi in Application.CutCopyMode till False:
1 | Application.CutCopyMode = Falskt |
Detta rensar Excel -urklipp. Det rensar dock inte Windows Urklipp. För att rensa fönstret Urklipp följer du instruktionerna här.