VBA Paste Special pentru a copia valori și formate în Excel (9 exemple) -

  • Imparte Asta
Hugh West

Atunci când trebuie să copiem și să lipim orice date în Microsoft Excel, avem la dispoziție diferite instrumente de comandă rapidă și instrumente de panglică în Excel. Excel VBA Macro au, de asemenea, o astfel de facilitate mai degrabă decât opțiunile de registru de lucru. Vom discuta despre VBA Paste Special valori și formate în Excel.

Descărcați caietul de practică

Descărcați acest caiet de exerciții pentru a vă exercita în timp ce citiți acest articol.

Valori și formate utilizând PasteSpecial.xlsm

9 Exemple de copiere a valorilor și formatelor cu Paste Special în Excel VBA

În acest articol, vom discuta despre 9 metode cu Macros VBA pentru Lipire specială valorile și formatul în Excel.

În acest scop, vom lua în considerare setul de date de mai jos.

1. Aplicați InputBox în VBA Paste Special pentru a copia valorile și formatele

Vom folosi opțiunea InputBox în acest exemplu pentru Lipire specială .

Pasul 1:

  • Mergeți la Dezvoltator tab.
  • Faceți clic pe Macro de înregistrare .
  • Set Excel_Paste_Special_1 ca Numele macroului .
  • Apoi apăsați OK .

Pasul 2:

  • Acum, faceți clic pe butonul Macros comandă.
  • Selectați Macro și apoi apăsați Pasul în .

Pasul 3:

  • Copiați și inserați următorul cod în modulul de comandă.
 Sub Excel_Paste_Special_1() Dim Copy_Cell As Range, Paste_Cell As Range xTitleId = "Salary_Sheet" Set Copy_Cell = Application.Selection Set Copy_Cell = Application.InputBox("Select Range to Copy :", xTitleId, Copy_Cell.Address, Type:=8) Set Paste_Cell = Application.InputBox("Paste_Cell în orice celulă goală:", xTitleId, Type:=8) Copy_Cell.Copy Paste_Cell.Parent.Activate Paste_Cell.PasteSpecialxlPasteValuesAndNumberFormats Paste_Cell.PasteSpecial xlPasteFormats Application.CutCopyMode = False End Sub 

Pasul 4:

  • Presa F5 pentru a rula codul.
  • Va apărea o nouă casetă de dialog. Selectați intervalul de surse în caseta respectivă.
  • Apoi apăsați OK .

Pasul 5:

  • Va apărea o altă casetă de dialog. Alegeți un interval gol în care să lipiți celulele copiate.

Acum, uitați-vă la setul de date.

Toate datele sunt copiate cu valorile și formatele folosind VBA Paste Special .

Citește mai mult: Cum să aplicați VBA PasteSpecial și să păstrați formatarea sursei în Excel

2. Introduceți un interval de celule cu valori și formate utilizând xlPasteAllUsingSourceTheme în VBA Paste Special

Vom insera intervalul de celule direct pe VBA codul din această secțiune.

Pasul 1:

  • Apăsați Alt+F11 pentru a intra în modulul de comandă.
  • Puneți următorul cod în modulul de comandă.
 Sub Excel_Paste_Special_2() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Pasul 2:

  • Acum, apăsați F5 pentru a rula codul.

Aceasta xlPasteAllUsingSourceTheme comanda copiază duplicatul exact al datelor sursă.

Citește mai mult: Excel VBA: Copierea valorii celulei și lipirea în altă celulă

3. Utilizați variabila VBA pentru a insera un interval cu valori și formate folosind Paste Special

Vom arăta cum se utilizează variabilele în VBA Paste Special cod aici.

Pasul 1:

  • În primul rând, intrați în modulul de comandă apăsând Alt+F11 .
  • Scrieți codul de mai jos în modulul de comandă.
 Sub Excel_Paste_Special_3() Dim source_rng As Range, paste_rng As Range Set source_rng = Range("B4:C9") Set paste_rng = Range("E4") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Pasul 2:

  • Presa F5 și executați codul.

Citește mai mult: Excel VBA: Copierea intervalului în alt registru de lucru

4. Utilizați xlPasteValues și xlPasteFormats pentru a copia valorile și formatele în altă foaie păstrând formatele neschimbate

Metodele de mai sus au fost folosite pentru copierea și lipirea datelor în aceeași foaie. Acum, vom arăta cum să folosim metoda VBA Paste Special pentru foi diferite.

Pasul 1:

  • Intrați în modulul de comandă făcând clic pe Alt+F11 și copierea următorului cod pe el.
 Private Sub Excel_Paste_Special_4() Application.ScreenUpdating = False Dim source_rng As Worksheet Dim paste_rng As Worksheet Set source_rng = Worksheets("Data_Set") Set paste_rng = Worksheets("Different_Sheet") Set Destination = paste_rng.Range("B2") source_rng.Range("B2:C9").Copy Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormatsApplication.CutCopyMode = False Application.ScreenUpdating = True End Sub 

Pasul 2:

  • Apăsați F5 pentru a rula codul.

Putem observa că datele din Data_Set este copiat în Foaie_diferită .

Citește mai mult: Cum se utilizează VBA PasteSpecial pentru formule și formate în Excel (3 moduri)

Lecturi similare

  • Cum să copiați mai multe celule într-o altă foaie în Excel (9 metode)
  • Diferența dintre Paste și Paste Special în Excel
  • Excel VBA pentru a copia date dintr-un alt registru de lucru fără a deschide
  • Cum să copiați și să lipiți în Excel și să păstrați dimensiunea celulei (7 exemple)
  • Copierea și lipirea valorilor în următorul rând gol cu Excel VBA (3 exemple)

5. Folosiți xlPasteFormats pentru a lipi doar formatele

În metodele anterioare, am copiat toate datele și le-am lipit fără nicio modificare, dar în această secțiune vom copia doar formatul datelor.

Pasul 1:

  • Treceți la modulul de comandă apăsând Alt+F11 .
  • Copiați și lipiți codul de mai jos în modulul de comandă.
 Sub Excel_Paste_Special_5() Range("B2:C9").Copy Range("E2").PasteSpecial xlPasteFormats End Sub 

Pasul 2:

  • Acum, apăsați butonul F5 și rulați codul.

Uitați-vă la setul de date. Doar formatele sunt copiate, aici nu sunt prezente valori.

Citește mai mult: Cum să copiați și să lipiți în Excel fără a schimba formatul

6. Folosiți xlPasteValues pentru a lipi doar valorile

Putem copia valorile doar cu ajutorul funcției VBA Paste Special .

Pasul 1:

  • Presa Alt+F11 pentru a intra în modulul de comandă.
  • Scrieți următorul cod în modulul de comandă.
 Sub Excel_Paste_Special_6() Range("B4:C9").Copy Range("E4").PasteSpecial xlPasteValues End Sub 

Pasul 2:

  • Faceți clic pe F5 și executați codul.

Observați setul de date. Aici sunt copiate doar valorile. În această metodă nu se copiază niciun format.

Citește mai mult: Cum să utilizați VBA pentru a lipi valori numai cu formatare în Excel

7. Copierea și lipirea întregului conținut al unei singure celule

În secțiunile anterioare, am copiat un interval de date. Aici, vom copia doar o singură celulă.

Pasul 1:

  • Acum, apăsați Alt+F11 și introduceți modulul de comandă.
  • Introduceți următorul cod în modul.
 Sub Excel_Paste_Special_7() Range("B4").Copy Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

Pasul 2:

  • Acum, apăsați butonul F5 pentru a rula codul.

Putem vedea că aici este copiată o singură celulă, nu un interval.

Citește mai mult: Formula de copiere și lipire a valorilor în Excel (5 exemple)

8. Copiați și lipiți toate atributele unei anumite coloane cu VBA

La fel ca o singură celulă, putem copia o singură coloană din setul de date.

Pasul 1:

  • Pur și simplu apăsați butonul Alt+F11 pentru a intra în modulul de comandă.
  • Scrieți codul de mai jos în modul.
 Sub Excel_Paste_Special_8() Dim source_rng As Range, paste_rng As Range Set source_rng = Columns("C") Set paste_rng = Columns("E") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Pasul 2:

  • Executați codul apăsând F5 .

Aici, putem vedea că Coloana B este copiat în Coloana E .

Citește mai mult: [Fixed]: Copierea și lipirea cu clic dreapta nu funcționează în Excel (11 soluții)

9. Copiați și lipiți toate atributele unui rând cu Excel VBA

În mod similar, putem copia un singur rând folosind funcția Lipire specială .

Pasul 1:

  • Faceți clic pe Alt+F11 pentru a intra în modulul de comandă.
  • Copiați următorul cod în modulul de comandă.
 Sub Excel_Paste_Special_9() Dim source_rng As Range, paste_rng As Range Set source_rng = Rows("4") Set paste_rng = Rows("11") source_rng.Copy paste_rng.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

Pasul 2:

  • Executați codul apăsând F5 .

Aici, Rândul 4 este copiat în Rândul 11 .

Citește mai mult: Cum să copiați mai multe rânduri în Excel utilizând macro (4 exemple)

Concluzie

În acest articol, am explicat 9 metode de VBA Paste Special valori și formate speciale în Excel. Sper că acest lucru vă va satisface nevoile. Vă rugăm să aruncați o privire la site-ul nostru web Exceldemy.com și dați-ne sugestiile dumneavoastră în caseta de comentarii.

Hugh West este un trainer și analist Excel cu o experiență de peste 10 ani în industrie. Deține o diplomă de licență în contabilitate și finanțe și un master în administrarea afacerilor. Hugh are o pasiune pentru predare și a dezvoltat o abordare unică de predare care este ușor de urmărit și de înțeles. Cunoștințele sale experte despre Excel au ajutat mii de studenți și profesioniști din întreaga lume să-și îmbunătățească abilitățile și să exceleze în cariera lor. Prin blogul său, Hugh își împărtășește cunoștințele lumii, oferind tutoriale gratuite Excel și instruire online pentru a ajuta persoanele și companiile să-și atingă întregul potențial.