Sisällysluettelo
On kuitenkin tilanteita, joissa haluamme kopioida muutakin kuin pelkkää tekstiä. Voimme kopioida kaikki Excelin ominaisuudet, kuten ehdollisen muotoilun, tietojen validoinnin, tietotyyppien muotoilun ja esteettiset ominaisuudet, kuten kehykset ja solujen värit. Ehkä ihailet työtoverisi värimaailmaa, mutta tarvitset staattisia tietoja, tai ehkä kaavat ovat upeita, mutta et pidä värimaailmasta.Tässä opetusohjelmassa näytämme, miten VBA PasteSpecial ja säilyttää lähteen muotoilun Excelissä.
Lataa harjoituskirja
Lataa tämä harjoituskirja, jotta voit harjoitella tätä artikkelia lukiessasi.
VBA PasteSpecial.xlsm VBA PasteSpecial.xlsm4 helppoa esimerkkiä VBA PasteSpecialin soveltamisesta ja lähteen muotoilun säilyttämisestä Excelissä
Näytämme neljä esimerkkiä siitä, miten paste-erikoisominaisuutta voidaan käyttää VBA säilyttäen samalla lähdemuodon alla olevissa osioissa. Tässä on esimerkkitietoaineisto, jota käytämme kopioimiseen ja liittämiseen.
1. Lisää syöttöruutu käyttämällä VBA PasteSpecialia ja säilyttämällä lähteen muotoilu Excelissä.
Ensinnäkin. Käytämme laatikkoa valitaksemme alueen ja liitäksemme sen sitten toiseen soluun. Toimi seuraavasti.
Vaihe 1:
- Paina ensin Alt + F11 aloittaa Makro .
- Napsauta sitten Sisällytä, valitse Moduuli vaihtoehto.
Vaihe 2:
- Liitä seuraava VBA-koodi.
Sub PasteSpecialKeepFormat() 'declare CopyCell and PasteCell as range variable Dim CopyCell As Range, PasteCell As Range 'Anna nimi Input Boxille xTitleId = "ExcelWIKI" 'Aseta kopiointialue valitaan laskentataulukosta Set CopyCell = Application.Selection 'Aseta Input Box, josta otetaan kopioitavaksi alue Set CopyCell = Application.InputBox("Valitse alue, josta kopioidaan :", xTitleId, CopyCell.Address,Type:=8) 'Aseta syöttölaatikko, joka ottaa alueen, johon liittää Set PasteCell = Application.InputBox("Liitä mihin tahansa tyhjään soluun:", xTitleId, Type:=8) 'Komento, jolla kopioidaan valittu alue CopyCell.Copy 'Komento, jolla liitetään alue PasteCell.Parent.Activate 'komento, jolla liitetyt solut säilytetään lähteen muotoilussa PasteCell.PasteSpecial xlPasteValuesAndNumberFormats PasteCell.PasteSpecial xlPasteFormatsApplication.CutCopyMode = False End Sub
Vaihe 3:
- Tallenna ohjelma ja paina F5 ajaa sitä.
- Ilmestyttyään 'ExcelWIKI' Valitse alue $B$4:$C$11 .
- Klikkaa OK .
Vaihe 4:
- Valitse mikä tahansa tyhjä solu liittämistä varten.
- Napsauta sitten SELVÄ.
- Näin ollen saat liitosarvon pitämällä muodon ennallaan.
Lue lisää: Liitä ja liitä erikoisliitoksen ero Excelissä
2. Sovelletaan VBA PasteSpecial -ohjelmaa valitsemaan alue ja säilyttämään lähteen muotoilu Excelissä.
Osoitteessa VBA , voit myös määrittää alueita ja kopioida ja liittää ne säilyttäen lähteen muotoilun. Seuraa alla esitettyjä ohjeita, niin olet tehnyt sen.
Vaihe 1:
- Paina Alt + F11 avata Makro .
- Luo uusi moduuli Lisää
- Liitä yksinkertaisesti seuraava VBA alueen koodi B4:C11 .
Sub pasteSpecial_KeepFormat() 'Valitse alue kopioitavaksi Range("B4:C11").Copy 'Valitse solu liitettäväksi 'Komento pasteSpecial pitää formaatin Range("E4").PasteSpecial xlPasteAllUsingSourceTheme End Sub
Vaihe 2:
- Tallenna lopuksi ohjelma ja paina F5 Tämän jälkeen näet alla olevan kuvan mukaiset muutokset.
Lue lisää: VBA Paste Special Excelin arvojen ja muotojen kopioimiseksi (9 esimerkkiä)
Samanlaisia lukemia
- VBA-koodi kahden Excel-arkin vertailemiseksi ja erojen kopioimiseksi
- Excel VBA: Solun arvon kopioiminen ja liittäminen toiseen soluun
- Kuinka kopioida useita soluja toiseen Excel-arkkiin (9 menetelmää)
- Excel VBA: Kopioi alue toiseen työkirjaan
- [Korjattu]: Oikealla napsautuksella kopioiminen ja liittäminen ei toimi Excelissä (11 ratkaisua)
3. Ilmoita muuttuja soveltamalla VBA PasteSpecial -ohjelmaa ja säilyttämällä lähteen muotoilu Excelissä.
Ilmoittamalla muuttujia ja asettamalla muuttujat eri alueille, seuraa alla olevia ohjeita liittääksesiSpecialin sisään VBA .
Vaihe 1:
- Paina ensin Alt + F11 avata VBA-makro .
- Valitse uusi Moduuli .
- Liitä sitten seuraava VBA-koodi .
Sub Copy_Paste_Special() 'Muuttujien julistaminen Dim copy_Rng As Range, Paste_Range As Range 'Komento kopioida alue Set copy_Rng = Range("B4:C11") 'Komento liittää alue Set Paste_Range = Range("E4") copy_Rng.Copy 'Liitä komento pasteErikoiseen pitämällä formaatti Paste_Range.PasteErikoinen Paste:=xlPasteAllUsingSourceTheme End Sub
Vaihe 2:
- Kun olet tallentanut ohjelman, paina F5 juosta.
- Näin ollen kopioitu alue liitetään säilyttäen lähteen muotoilu kuten ennenkin.
Lue lisää: VBA PasteSpecial -ohjelman käyttäminen Excel-kaavojen ja -muotojen kaavoihin (3 tapaa)
4. Käytä VBA PasteSpecial -ohjelmaa ja säilytä lähteen muotoilu Excelin eri laskentataulukossa.
Puhumme tässä osassa hyvin merkittävästä metodista. Koska käymme läpi, miten PasteSpecialia käytetään vuonna VBA useammassa työkirjassa. Esimerkiksi kopioimme tiedostoa 'Sheet4' ja liitä se 'Sheet5 ," alla olevien ohjeiden mukaisesti.
Vaihe 1:
- Avaa VBA-makro , paina Alt + F11
- Vuodesta Lisää välilehti, valitse Moduuli.
- Liitä sitten seuraava VBA.
Private Sub KeepSourceFormat() Application.ScreenUpdating = False 'Muuttujien ilmoittaminen Dim copyRng As Worksheet Dim pasteRng As Worksheet 'Aseta alueen kohde muuttujaan Set copyRng = Worksheets("Sheet4") Set pasteRng = Worksheets("Sheet5") 'aseta liitettyjen solujen kohde 'Solun E4 kohdalla, Rows.count = 5, Offset = 3 Set Destination = pasteRng.Cells(Rows.Count, 5).End(xlUp).Offset(3, 0)'Komento alueen kopioimiseksi copyRng.Range("B4:C11").Copy 'Komento alueen liittämiseksi Destination.PasteSpecial Paste:=xlPasteValues Destination.PasteSpecial Paste:=xlPasteFormats Application.CutCopyMode = False Application.ScreenUpdating = True End Sub
Vaihe 2:
- Käynnistä ohjelma painamalla F5 ohjelman tallentamisen jälkeen.
- Näin ollen saat liitetyn arvon osoitteeseen arkki 5 säilyttämällä lähdemuoto.
Lue lisää: Kuinka käyttää Paste Special -komentoa Excelissä (5 sopivaa tapaa)
Päätelmä
Yhteenvetona toivon, että tiedät nyt, miten käyttää Excel VBA to Paste Special Keep Source Formatting. Kaikki nämä strategiat tulisi opettaa tietoihin ja käyttää niitä. Tutustu harjoituskirjaan ja sovella oppimaasi. Olemme motivoituneita pitämään tällaisia luentoja teidän tärkeän tukenne ansiosta.
Ota meihin yhteyttä, jos sinulla on kysyttävää, ja jaa ajatuksesi alla olevaan kommenttikenttään.
Kysymyksiinne vastaa mahdollisimman pian seuraava taho. Exceldemy henkilökunta.
Pysy kanssamme ja jatka oppimista.