Klipp ut, kopiera och klistra in från ett makro - exempel på VBA -kod

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.

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave