- Egyetlen cella másolása (kivágása) és beillesztése
- Kiválasztás másolása
- Másoljon (vágjon) és illesszen be egy sor cellát
- Egy egész oszlop másolása (kivágása) és beillesztése
- Egy egész sor másolása (kivágása) és beillesztése
- Másolás (kivágás) és beillesztés másik munkalapra vagy munkafüzetbe
- Érték beillesztés
- Speciális beillesztés
Ebben az oktatóanyagban számos különböző módszert tanulhat meg a másolás és beillesztés, valamint a kivágás és beillesztés VBA makró használatával. Olvassa el a kísérő oktatóanyagot az Érték beillesztés és beillesztés speciális funkcióiról a fejlettebb másolási és beillesztési lehetőségekért.
A kód használata: Nyissa meg a Visual Basic Editor (Alt + F11), Helyezzen be egy új modult (Beszúrás> Modul), majd másolja be a kívánt kódot a modulba.
Egyetlen cella másolása (kivágása) és beillesztése
Ez a példa egyetlen cellát, A1 -t B1 -re másol vagy vág és illeszt be:
123456789 | Sub Paste_OneCell ()'Másolja és illessze be az egyetlen cellátTartomány ("A1"). Másolási tartomány ("B1")'Vágja le és illessze be az egyetlen cellátTartomány ("A1"). Vágási tartomány ("B1")End Sub |
Kiválasztás másolása
Ha másolni szeretné az aktív kijelölést, használja ezt:
123456789101112 | Sub CopySelection ()'Beillesztés meghatározott tartománybaSelection.copy tartomány ("b1")'Offset Paste (2 cellát lefelé és 1 jobbra eltol.)Kiválasztás.példányKiválasztás.eltolás (2,1) .pasztaApplication.CutCopyMode = HamisEnd Sub |
Másoljon (vágjon) és illesszen be egy sor cellát
Ez a példa másolja vagy vágja ki és illeszti be az A1: A3 cellákat a B1: B3 cellákba:
123456789 | Sub Paste_Range ()'Másolja és illessze be a cellák sorátTartomány ("A1: A3"). Másolási tartomány ("B1: B3")'Vágjon és illesszen be egy sor sejtetTartomány ("A1: A3"). Vágási tartomány ("B1: B3")End Sub |
Egy egész oszlop másolása (kivágása) és beillesztése
Az alábbiakban bemutatunk néhány gyors példát. Olvassa el a Sorok és oszlopok másolása és beillesztése című cikkünket, ahol részletes példákat, magyarázatokat és variációkat talál.
Ez a példa egy egész oszlopot másol, vág és beilleszt, A -ból B -be:
12345678910 | Sub PasteOneColumn ()"Másolás és beillesztés oszlopTartomány ("A: A"). Másolási tartomány ("B: B")'Vágás és beillesztés oszlopTartomány ("A: A"). Vágási tartomány ("B: B")End Sub |
Egy egész sor másolása (kivágása) és beillesztése
Ez a példa egy egész sort másol, vág és illeszt be, 1 -től 2 -ig:
12345678910 | Sub Paste_OneRow ()'Sor másolása és beillesztéseTartomány ("1: 1"). Tartomány másolása ("2: 2")'Vágja és illessze be a sortTartomány ("1: 1"). Vágási tartomány ("2: 2")End Sub |
Másolás (kivágás) és beillesztés másik munkalapra vagy munkafüzetbe
1234567891011121314 | Sub Paste_Other_Sheet_or_Book ()'Kivágás vagy másolás és beillesztés másik munkalapraMunkalapok ("lap1"). Tartomány ("A1"). Munkalapok másolása ("lap2"). Tartomány ("B1") 'MásolásMunkalapok ("lap1"). Tartomány ("A1"). Kivágott munkalapok ("lap2"). Tartomány ("B1") 'Kivágás'Kivágás vagy másolás és beillesztés másik munkafüzetbeMunkafüzetek ("book1.xlsm"). Munkalapok ("sheet1"). Tartomány ("A1"). Másolat _Munkafüzetek ("book2.xlsm"). Munkalapok ("sheet1"). Tartomány ("B1") 'MásolásMunkafüzetek ("book1.xlsm"). Munkalapok ("sheet1"). Tartomány ("A1"). Kivágás _Munkafüzetek ("book2.xlsm"). Munkalapok ("sheet1"). Tartomány ("B1") 'CutApplication.CutCopyMode = HamisEnd Sub |
Érték beillesztés
Általában a másolás és beillesztés során beilleszti a cella összes tulajdonságát: formázást, képleteket stb. A VBA értékbeillesztésének legegyszerűbb módja a cella értékének közvetlen meghatározása:
123456789101112131415 | Sub ValuePaste ()'Értékbeillesztési cellákTartomány ("B1"). Érték = Tartomány ("A1"). ÉrtékTartomány ("B1: B3"). Érték = Tartomány ("A1: A3"). Érték'Állítson be értékeket a munkalapok közöttMunkalapok ("lap2"). Tartomány ("A1"). Érték = Munkalapok ("lap1"). Tartomány ("A1"). Érték„Állítson be értékeket a munkafüzetek közöttMunkafüzetek ("book2.xlsm"). Munkalapok ("sheet1"). Range ("A1"). Value = _Munkafüzetek ("book1.xlsm"). Munkalapok ("sheet1"). Range ("A1"). ValueApplication.CutCopyMode = HamisEnd Sub |
Speciális beillesztés
A Paste Special lehetővé teszi a cellák bizonyos tulajdonságainak másolását és beillesztését (példák: formátumok, értékek, oszlopszélességek stb.). Lehetővé teszi speciális beillesztési műveletek végrehajtását is (példák: üres helyek átugrása, transzponálás). Az alábbiakban több példát is megvizsgálunk, de mélyrehatóan olvassa el az Érték-beillesztés és a Különleges beillesztés című oktatóanyagunkat.
12345678910111213141516171819 | Sub PasteSpecial ()'Végezzen el egy paszta különleges műveletet:Tartomány ("A1"). Másolás'Formátumok beillesztéseTartomány ("B1"). PasteSpecial Paste: = xlPasteFormats'Illessze be az oszlop szélességeitTartomány ("B1"). PasteSpecial Paste: = xlPasteColumnWidths'Illessze be a képleteketTartomány ("B1"). PasteSpecial Paste: = xlPasteFormulas'Többszörös beillesztés speciális műveletek végrehajtása egyszerre:Tartomány ("A1"). Másolás'Formátumok beillesztése és transzponálásaTartomány ("B1"). PasteSpecial Paste: = xlPasteFormats, Operation: = xlNone, SkipBlanks: = _Hamis, transzponálás: = IgazApplication.CutCopyMode = HamisEnd Sub |
Vágólap törlése
Másolás és beillesztés után érdemes törölni a vágólapot (néhány fenti példában ezt megtesszük). Az Excel vágólap törléséhez az Application.CutCopyMode értékét állítsuk hamis értékre:
1 | Application.CutCopyMode = Hamis |
Ez törli az Excel vágólapját. Ez azonban nem törli a Windows vágólapját. Az ablak vágólapjának törléséhez kövesse az itt található utasításokat.