A VBA PasteSpecial alkalmazásának és a forrásformázás megtartásának módja az Excelben

  • Ossza Meg Ezt
Hugh West

Vannak azonban olyan helyzetek, amikor nem csak szöveget szeretnénk másolni. Az Excel összes képességét másolhatjuk róluk, például a feltételes formázást, az adatok érvényesítését, az adattípusok formázását és az olyan esztétikai funkciókat, mint a szegélyek és a cellák színei. Talán csodálja munkatársa színsémáját, de statikus adatokra van szüksége, vagy talán a képletek fantasztikusak, de nem tetszik a színséma.Ebben a bemutatóban megmutatjuk a VBA PasteSpecial és a forrásformázás megtartása az Excelben.

Gyakorlati munkafüzet letöltése

Töltse le ezt a gyakorlati munkafüzetet, hogy gyakorolhasson, miközben ezt a cikket olvassa.

VBA PasteSpecial.xlsm beillesztés.xlsm

4 egyszerű példa a VBA PasteSpecial alkalmazására és a forrásformázás megtartására az Excelben

Négy példát mutatunk be a beillesztés specialitás használatára az alábbiakban. VBA miközben megtartjuk a forrásformátumot az alábbi szakaszokban. Íme egy mintaadatkészlet, amelyet másolásra és beillesztésre fogunk használni.

1. Beviteli mező hozzáadása a VBA PasteSpecial használatával és a forrásformázás megtartása az Excelben

Mindenekelőtt. A doboz segítségével kijelölünk egy tartományt, majd beillesztjük egy másik cellába. Ehhez kövesse az alábbi lépéseket.

1. lépés:

  • Először is, nyomja meg a Alt + F11 hogy elindítson egy Makró .
  • Ezután kattintson a Beillesztés, válassza a Modul opció.

2. lépés:

  • Illessze be a következő VBA-kódot.
 Sub PasteSpecialKeepFormat() 'deklarálja CopyCell és PasteCell mint tartományváltozó Dim CopyCell As Range, PasteCell As Range 'Adjunk nevet a beviteli mezőnek xTitleId = "ExcelWIKI" 'Állítsuk be, hogy a másolási tartományt a munkalapból válasszuk ki Set CopyCell = Application.Selection 'Állítsunk be egy beviteli mezőt, hogy a másolandó tartományt vegyük Set CopyCell = Application.InputBox("Select Range to Copy :", xTitleId, CopyCell.Address,Type:=8) 'Állítson be egy beviteli dobozt, hogy egy tartományt vegyen fel a beillesztéshez Set PasteCell = Application.InputBox("Paste to any blank cell:", xTitleId, Type:=8) 'A kijelölt tartomány másolásának parancsa CopyCell.Copy 'A tartomány beillesztésének parancsa PasteCell.Parent.Activate 'A beillesztett celláknak a forrás formázásának megtartására vonatkozó parancs PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub 

3. lépés:

  • Mentés a programot, és nyomja meg a F5 a futtatásához.
  • Miután megjelent a 'ExcelWIKI' mezőben válassza ki a tartományt $B$4:$C$11 .
  • Kattintson a címre. OK .

4. lépés:

  • A beillesztéshez válasszon ki egy üres cellát.
  • Ezután kattintson a RENDBEN.

  • Ezért a formátum megtartásával megkapja a beillesztési értéket.

Bővebben: Különbség a beillesztés és a beillesztési speciális Excel között

2. A VBA PasteSpecial alkalmazása a tartomány kiválasztására és a forrásformázás megtartására az Excelben

A oldalon. VBA , akkor is megadhat tartományokat és másolhatja és beillesztheti őket a forrásformázás megtartása mellett. Kövesse az alábbiakban vázolt lépéseket, hogy ezt megtegye.

1. lépés:

  • Sajtó Alt + F11 kinyitni Makró .
  • Hozzon létre egy új modult a Beillesztés
  • Egyszerűen illessze be a következőket VBA a tartomány kódja B4:C11 .
 Sub pasteSpecial_KeepFormat() 'válassza ki a másolandó tartományt Range("B4:C11").Copy 'válassza ki a beillesztendő cellát 'A beillesztés parancsa a formátum megtartása Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub 

2. lépés:

  • Végül mentse a programot, és nyomja meg a F5 Ennek következtében az alábbi képen látható változásokat láthatja.

További információ: VBA Paste Special az Excel értékek és formátumok másolásához (9 példa)

Hasonló olvasmányok

  • VBA-kód két Excel-lap összehasonlításához és a különbségek másolásához
  • Excel VBA: Cellák értékének másolása és beillesztése egy másik cellába
  • Hogyan másoljon több cellát egy másik Excel lapra (9 módszer)
  • Excel VBA: Tartomány másolása egy másik munkafüzetbe
  • [Javítva]: A jobb klikkes másolás és beillesztés nem működik az Excelben (11 megoldás)

3. Változó deklarálása a VBA PasteSpecial alkalmazásával és a forrásformázás megtartása az Excelben

A változók deklarálásával és a változók különböző tartományokba való beállításával kövesse az alábbi lépéseket a pasteSpecial beillesztéséhez a VBA .

1. lépés:

  • Először is, nyomja meg a Alt + F11 kinyitni VBA makró .
  • Válasszon ki egy új Modul .
  • Ezután illessze be a következőket VBA kód .
 Sub Copy_Paste_Special() 'Változók deklarálása Dim copy_Rng As Range, Paste_Range As Range 'A tartomány másolásának parancsa Set copy_Rng = Range("B4:C11") 'A tartomány beillesztésének parancsa Set Paste_Range = Range("E4") copy_Rng.Copy 'A parancs beillesztése a pasteSpecial-be a formátum megtartásával Paste_Range.PasteSpecial Paste:=xlPasteAllUsingSourceTheme End Sub 

2. lépés:

  • A program mentése után nyomja meg a F5 futni.
  • Ezért a másolt tartomány a forrásformázás megtartásával lesz beillesztve.

Bővebben: A VBA PasteSpecial használata az Excel képletekhez és formátumokhoz (3 módja)

4. A VBA PasteSpecial használata és a forrásformázás megtartása az Excel különböző munkalapjain

Ebben a részben egy nagyon fontos módszerről fogunk beszélni. Mivel végigmegyünk azon, hogy hogyan használjuk a PasteSpecial-t a VBA több munkafüzetben is. Például, másoljuk a 'Sheet4' és illessze be a 'Sheet5 ," az alábbi lépések szerint.

1. lépés:

  • Megnyitni VBA makró , nyomja meg Alt + F11
  • A Beillesztés lapon válassza a Modul.
  • Ezután illessze be a következőket VBA.
 Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Változók deklarálása Dim copyRng As Worksheet Dim pasteRng As Worksheet 'A tartomány céljának beállítása a változóhoz Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") 'a beillesztett cellák céljának beállítása 'E4 cellához, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'A tartomány másolásának parancsa copyRng.Range("B4:C11").Copy 'A tartomány beillesztésének parancsa Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

2. lépés:

  • A program futtatásához nyomja meg a F5 a program mentése után.
  • Ezért a beillesztett értéket kapja meg a 5. lap a forrás formátum megtartásával.

Bővebben: Hogyan használjuk a Paste Special parancsot az Excelben (5 megfelelő mód)

Következtetés

Összefoglalva, remélem, most már tudod, hogyan kell használni a Excel VBA a Beillesztés speciális megtartása Forrásformázás. Mindezeket a stratégiákat meg kell tanítani és használni kell az adatainak. Vizsgálja meg a gyakorlókönyvet és alkalmazza a tanultakat. Az Önök fontos támogatása miatt vagyunk motiváltak arra, hogy továbbra is ilyen előadásokat tartsunk.

Kérjük, ne habozzon kapcsolatba lépni velünk, ha bármilyen kérdése van. Kérjük, ossza meg gondolatait az alábbi megjegyzés rovatban.

Az Ön kérdéseire a lehető leghamarabb válaszol a Exceldemy személyzet.

Maradjon velünk és tanuljon tovább.

Hugh West nagy tapasztalattal rendelkező Excel-oktató és elemző, több mint 10 éves tapasztalattal az iparágban. Számvitel és pénzügy szakos alapdiplomát, valamint üzleti adminisztrációból mesterképzést szerzett. Hugh szenvedélye a tanítás, és egyedülálló tanítási megközelítést dolgozott ki, amely könnyen követhető és érthető. Az Excelben szerzett szakértői tudása világszerte több ezer diáknak és szakembernek segített abban, hogy készségeiket és karrierjüket kiválóan teljesítsék. Hugh blogján keresztül megosztja tudását a világgal, ingyenes Excel-oktatóanyagokat és online képzéseket kínálva, hogy segítse az egyéneket és a vállalkozásokat teljes potenciáljuk kibontakoztatásában.