Sådan anvendes VBA PasteSpecial og Behold kildeformatering i Excel

  • Del Dette
Hugh West

Der er dog situationer, hvor vi ønsker at kopiere mere end blot tekst. Vi kan kopiere alle Excels muligheder, f.eks. betinget formatering, validering af data, datatypeformatering og æstetiske funktioner som rammer og cellefarver. Måske beundrer du din kollegas farveskema, men har brug for statiske data, eller måske er formlerne fantastiske, men du kan ikke lide farveskemaet.I denne vejledning viser vi den VBA PasteSpecial og beholder kildeformateringen i Excel.

Download arbejdsbog til øvelser

Download denne arbejdsbog til træning, så du kan øve dig, mens du læser denne artikel.

VBA PasteSpecial.xlsm

4 nemme eksempler på at anvende VBA PasteSpecial og beholde kildeformatering i Excel

Vi viser fire eksempler på, hvordan du kan bruge indsætningsfunktionen i VBA samtidig med at kildeformatet bevares i afsnittene nedenfor. Her er et eksempelsæt af data, som vi skal bruge til at kopiere og indsætte.

1. Tilføj indtastningsboks ved hjælp af VBA PasteSpecial og behold kildeformatering i Excel

Først og fremmest skal vi bruge boksen til at vælge et område og derefter indsætte det i en anden celle. Følg nedenstående trin for at gøre dette.

Trin 1:

  • Først skal du trykke på Alt + F11 at starte en Makro .
  • Klik derefter på Indsæt, vælge den Modul mulighed.

Trin 2:

  • Indsæt følgende VBA-kode.
 Sub PasteSpecialKeepFormat() 'Deklarér CopyCell og PasteCell som områdevariable Dim CopyCell As Range, PasteCell As Range 'Giv et navn til indtastningsboksen xTitleId = "ExcelWIKI" 'Indstil, at kopieringsområdet skal vælges fra regnearket Set CopyCell = Application.Selection 'Indstil en indtastningsboks til at tage et område at kopiere fra Set CopyCell = Application.InputBox("Select Range to Copy :", xTitleId, CopyCell.Address,Type:=8) 'Indstil en indtastningsboks til at tage et område at indsætte i Set PasteCell = Application.InputBox("Indsæt i en tom celle:", xTitleId, Type:=8) 'Kommando til at kopiere det valgte område CopyCell.Copy 'Kommando til at indsætte området PasteCell.Parent.Activate 'Kommando til indsatte celler for at beholde kildeformateringen PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

Trin 3:

  • Gem programmet, og tryk på F5 til at køre det.
  • Efter at have optrådt den 'ExcelWIKI' feltet, skal du vælge området $B$4:$C$11 .
  • Klik på OK .

Trin 4:

  • Vælg en tom celle for at indsætte den.
  • Klik derefter på OK.

  • Derfor får du indsætningsværdien ved at holde formatet intakt.

Læs mere: Forskellen mellem indsæt og indsæt specielt i Excel

2. Anvend VBA PasteSpecial til at vælge område og beholde kildeformatering i Excel

VBA kan du også angive intervaller og kopiere og indsætte dem, mens du beholder kildeformateringen. Følg de skitserede trin nedenfor for at få det gjort.

Trin 1:

  • Tryk på Alt + F11 for at åbne Makro .
  • Opret et nyt modul fra Indsæt
  • Du skal blot indsætte følgende VBA kode for området B4:C11 .
 Sub pasteSpecial_KeepFormat() 'Vælg område til kopiering Range("B4:C11").Copy 'Vælg celle til indsættelse 'Kommando til pasteSpecial med bevarelse af formatet Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Trin 2:

  • Til sidst skal du gemme programmet og trykke på F5 til at køre. Du vil derefter se ændringerne som vist i billedet nedenfor.

Læs mere: VBA Paste Special til at kopiere værdier og formater i Excel (9 eksempler)

Lignende læsninger

  • VBA-kode til at sammenligne to Excel-ark og kopiere forskelle
  • Excel VBA: Kopier celleværdi og indsæt til en anden celle
  • Sådan kopieres flere celler til et andet ark i Excel (9 metoder)
  • Excel VBA: Kopier område til en anden projektmappe
  • [Rettet]: Højreklik på kopiering og indsættelse virker ikke i Excel (11 løsninger)

3. Deklarere variabel ved at anvende VBA PasteSpecial og beholde kildeformatering i Excel

Ved at deklarere variabler og indstille variabler til forskellige intervaller kan du følge nedenstående trin for at indsætteSpecial i VBA .

Trin 1:

  • Først og fremmest skal du trykke på Alt + F11 for at åbne VBA-makro .
  • Vælg en ny Modul .
  • Derefter indsætter du følgende VBA-kode .
 Sub Copy_Paste_Special() 'Deklarere variabler Dim copy_Rng As Range, Paste_Range As Range 'Kommando til at kopiere område Set copy_Rng = Range("B4:C11") 'Kommando til at indsætte område Set Paste_Range = Range("E4") copy_Rng.Copy 'Indsæt kommando til pasteSpecial med bevarelse af format Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Trin 2:

  • Når du har gemt programmet, skal du trykke på F5 til at køre.
  • Derfor vil dit kopierede område blive indsat med samme kildeformatering som før.

Læs mere: Sådan bruger du VBA PasteSpecial til formler og formater i Excel (3 måder)

4. Brug VBA PasteSpecial og behold kildeformatering i et andet regneark i Excel

Vi vil tale om en meget vigtig metode i denne del. Fordi vi vil gennemgå, hvordan du bruger PasteSpecial i VBA i flere arbejdsbøger. Vi kopierer f.eks. fra 'Sheet4' og indsæt den i "Ark5 ," som vist i nedenstående trin.

Trin 1:

  • For at åbne VBA-makro , tryk på Alt + F11
  • Fra den Indsæt skal du vælge fanen Modul.
  • Derefter indsætter du følgende VBA.
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Deklarere variabler Dim copyRng As Worksheet Dim pasteRng As Worksheet 'Indstil destinationen for området til variablen Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") 'Indstil destinationen for de indsatte celler 'For celle E4, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'Kommando til at kopiere området copyRng.Range("B4:C11").Copy 'Kommando til at indsætte området Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Trin 2:

  • For at køre programmet skal du trykke på F5 efter at have gemt programmet.
  • Derfor vil du få den indsatte værdi i ark 5 med bevarelse af kildeformatet.

Læs mere: Sådan bruger du indsæt specialkommandoen i Excel (5 egnede måder)

Konklusion

For at opsummere håber jeg, at du nu ved, hvordan du kan bruge Excel VBA til Paste Special Keep Source Formatting. Alle disse strategier skal læres til dine data og bruges til det. Undersøg øvelsesbogen og anvend det, du har lært. Vi er motiveret til at blive ved med at give foredrag som disse på grund af jeres vigtige støtte.

Du er velkommen til at kontakte os, hvis du har spørgsmål, og du kan dele dine tanker i kommentarfeltet nedenfor.

Dine spørgsmål vil blive besvaret så hurtigt som muligt af Exceldemy personale.

Bliv hos os og bliv ved med at lære.

Hugh West er en meget erfaren Excel-træner og analytiker med over 10 års erfaring i branchen. Han har en bachelorgrad i regnskab og finans og en kandidatgrad i Business Administration. Hugh har en passion for undervisning og har udviklet en unik undervisningstilgang, der er nem at følge og forstå. Hans ekspertviden om Excel har hjulpet tusindvis af studerende og fagfolk verden over med at forbedre deres færdigheder og udmærke sig i deres karriere. Gennem sin blog deler Hugh sin viden med verden og tilbyder gratis Excel-tutorials og onlinetræning for at hjælpe enkeltpersoner og virksomheder med at nå deres fulde potentiale.