Tämä opetusohjelma näyttää, kuinka PasteSpecialin avulla VBA: ssa voidaan liittää vain tietyt solun ominaisuudet (esim. Arvot, muodot)
Kun kopioit ja liität Excelissä solun, kopioit ja liität kaikki solun ominaisuudet: arvot, muodot, kaavat, numeroiden muotoilu, reunat jne.:
Sen sijaan voit liittää vain liittää vain tiettyjä solun ominaisuuksia. Excelissä Paste Special -valikkoon pääsee pikanäppäimellä CTRL + ALT + V (solun kopioinnin jälkeen):
Täältä näet kaikki liitettävien soluominaisuuksien yhdistelmät.
Jos tallennat makron käyttäessäsi Liitä erikoisvalikkoa, voit käyttää luotua koodia. Tämä on usein helpoin tapa käyttää VBA: ta Paste Specialin liittämiseen.
Liitä arvot
Liitä arvot liittää vain solun arvon. Jos solu sisälsi kaavan, Liitä arvot liittää kaavan tuloksen.
Tämä koodi kopioi ja liittää yhden laskentataulukon yksittäisen solun arvot:
12 | Alue ("A1")Alue ("B1"). PasteSpecial Paste: = xlPasteValues |
Kopioi ja liitä arvo eri arkille
Tämä esimerkki kopioi ja liitä arvot yksittäisille soluille eri laskentataulukoissa
12 | Sheets ("Sheet1"). Alue ("A1"). KopioSheets ("Sheet2"). Alue ("B1"). PasteSpecial Paste: = xlPasteValues |
Näissä esimerkeissä kopioidaan ja liitetään arvoja solualueille:
Kopioi ja liitä arvoalueet
12 | Alue ("A1: B3")Alue ("C1"). PasteSpecial Paste: = xlPasteValues |
Kopioi ja liitä arvo -sarakkeet
12 | Sarakkeet ("A")Sarakkeet ("B"). PasteSpecial Paste: = xlPasteValues |
Kopioi ja liitä rivit
12 | Rivit (1)Rivit (2) .PasteSpecial Paste: = xlPasteValues |
Liitä arvot ja numeromuodot
Arvojen liittäminen liittää vain solun arvon. Muotoilua ei liitetä, mukaan lukien numeroiden muotoilu.
Usein, kun liität arvoja, haluat todennäköisesti sisällyttää myös numeroiden muotoilun, jotta arvosi pysyvät muotoiltuina. Katsotaanpa esimerkkiä.
Tässä arvo liitä solu, joka sisältää prosenttiosuuden:
12 | Sheets ("Sheet1"). Sarakkeet ("D"). KopioSheets ("Sheet2"). Sarakkeet ("B"). PasteSpecial Paste: = xlPasteValues |
Huomaa, kuinka prosenttiluvun muotoilu menetetään ja sen sijaan näytetään huolimaton desimaaliarvo.
Käytämme sen sijaan Liitä arvot ja numerot -muotoja:
12 | Sheets ("Sheet1"). Sarakkeet ("D"). KopioSheets ("Sheet2"). Sarakkeet ("B"). PasteSpecial Paste: = xlPasteValuesAndNumberFormats |
Nyt näet, että myös numeroiden muotoilu on liitetty, säilyttäen prosenttimuoto.
.Arvo .Pasta sijaan
Arvojen liittämisen sijaan voit käyttää Range -objektin Value -ominaisuutta:
Tämä asettaa A2: n solun arvon yhtä suureksi kuin B2: n soluarvo
1 | Alue ("A2"). Arvo = Alue ("B2"). Arvo |
Voit myös asettaa solualueen, joka vastaa yhden solun arvoa:
1 | Alue ("A2: C5"). Arvo = Alue ("A1"). Arvo |
tai solualue, joka vastaa toista identtisen kokoista solualuetta:
1 | Alue ("B2: D4"). Arvo = Alue ("A1: C3"). Arvo |
Arvo -ominaisuuden käyttäminen on vähemmän kirjoittamista. Jos haluat oppia Excel VBA: ta, sinun tulee myös tuntea solujen Arvo -ominaisuuden käyttö.
Solun arvo vs. arvo2 -ominaisuus
Teknisesti on parempi käyttää solun Value2 -ominaisuutta. Arvo2 on hieman nopeampi (tällä on merkitystä vain erittäin suurilla laskelmilla) ja Arvo -ominaisuus saattaa antaa sinulle katkaistun tuloksen solusta, joka on muotoiltu valuutaksi tai päivämääräksi. Kuitenkin 99%+ koodista, jonka olen nähnyt, käyttää .Value eikä .Value2. En itse käytä .Value2: ta, mutta sinun pitäisi olla tietoinen sen olemassaolosta.
1 | Alue ("A2"). Arvo2 = Alue ("B2"). Arvo2 |
Copy Paste Builder
Olemme luoneet "Copy Paste Code Builderin", jonka avulla on helppo luoda VBA -koodi solujen kopioimiseksi (tai leikkaamiseksi) ja liittämiseksi. Rakentaja on osa meitä VBA-lisäosa: AutoMacro.
AutoMacro sisältää myös monia muita Koodigeneraattorit, laaja Koodikirjasto, ja voimakas Koodaustyökalut.
Liitä erityinen - muodot ja kaavat
Liitä arvojen lisäksi yleisimmät liittämisvaihtoehdot ovat Liitä muodot ja Liitä kaavat
Liitä muodot
Liitä muodot -toiminnon avulla voit liittää kaikki solujen muotoilut.
12 | Alue ("A1: A10"). KopioiAlue ("B1: B10"). PasteSpecial Paste: = xlPasteFormats |
Liitä kaavat
Liitä kaavat liittää vain solukaavat. Tämä on myös erittäin hyödyllistä, jos haluat kopioida solukaavoja, mutta et halua kopioida solun taustavärejä (tai muuta solun muotoilua).
12 | Alue ("A1: A10"). KopioiAlue ("B1: B10"). PasteSpecial Paste: = xlPasteFormulas |
Liitä kaavat ja numeromuodot
Samankaltaisia kuin Liitä arvot ja numeromuodot yllä, voit myös kopioida ja liittää lukumuotoja kaavojen kanssa
Täällä kopioimme solukaavan, jossa on vain tilinumeron muotoilu ja liitä kaavat.
12 | Sheets ("Sheet1"). Alue ("D3"). KopioSheets ("Sheet2"). Alue ("D3"). PasteSpecial xlPasteFormulas |
Huomaa, kuinka numeroiden muotoilu häviää ja sen sijaan näytetään huolimaton pyöristämätön arvo.
Käytämme sen sijaan Liitä kaavat ja numerot -muotoja:
12 | Sheets ("Sheet1"). Alue ("D3"). KopioSheets ("Sheet2"). Alue ("D3"). PasteSpecial xlPasteFormulasAndNumberFormats |
Nyt näet, että myös numeroiden muotoilu on liitetty päälle säilyttäen kirjanpitomuoto.
Paste Special - Transponoi ja ohita aihiot
Liitä erityinen - Transponoi
Paste Special Transpose -toiminnon avulla voit kopioida ja liittää soluja, jotka muuttavat suuntaa ylhäältä alhaalta vasemmalle oikealle (tai päinvastoin):
12 | Sheets ("Sheet1"). Alue ("A1: A5"). KopioSheets ("Sheet1"). Alue ("B1"). PasteSpecial Transpose: = True |
Liitä erikoisuus - ohita aihiot
Ohita aihiot on erityinen liima -vaihtoehto, jota ei näytä käytettävän niin usein kuin sen pitäisi. Sen avulla voit kopioida vain ei-tyhjiä soluja kopioitaessa ja liitettäessä. Tyhjiä soluja ei siis kopioida.
Tässä esimerkissä alla. Kopioimme sarakkeen A, teemme tavallisen liittämisen sarakkeeseen B ja ohitamme tyhjät liitteet sarakkeessa C. Voit nähdä, että tyhjiä soluja ei ole liitetty sarakkeeseen C alla olevassa kuvassa.
123 | Sheets ("Sheet1"). Alue ("A1: A5"). KopioSheets ("Sheet1"). Alue ("B1"). PasteSpecial SkipBlanks: = FalseSheets ("Sheet1"). Alue ("C1"). PasteSpecial SkipBlanks: = True |
Muut Liitä erikoisvaihtoehdot
Liitä erityinen - Kommentit
1 | Sheets ("Sheet1"). Alue ("A1"). Copy Sheets ("Sheet1"). Range ("E1"). PasteSpecial xlPasteComments |
Liitä erityinen - vahvistus
12 | Sheets ("Sheet1"). Alue ("A1: A4"). KopioSheets ("Sheet1"). Alue ("B1: B4"). PasteSpecial xlPasteValidation |
Liitä erityinen - kaikki käyttämällä lähdeteemaa
123 | Työkirjat (1). Taulukot ("Sheet1"). Alue ("A1: A2"). KopioTyökirjat (2). Taulukot ("Sheet1"). Alue ("A1"). LiitäTyökirjat (2). Taulukot ("Sheet1"). Alue ("B1"). PasteSpecial xlPasteAllUsingSourceTheme |
Liitä erityinen - kaikki paitsi reunukset
123 | Alue ("B2: C3"). KopioAlue ("E2"). PasteSpecialAlue ("H2"). PasteSpecial xlPasteAllExceptBorders |
PasteSpecial - Sarakkeen leveydet
Henkilökohtainen suosikkini. PasteSpecial Column Widths kopioi ja liittää sarakkeiden leveyden.
123 | Alue ("A1: A2"). KopioiAlue ("C1"). PasteSpecialAlue ("E1"). PasteSpecial xlPasteColumnWidths |
PasteSpecial - Kaikki yhdistävät ehdolliset muodot
123 | Alue ("A1: A4")Alue ("C1"). PasteSpecialAlue ("E1"). PasteSpecial xlPasteAllMergingConditionalFormats |