Kivágás, másolás és beillesztés makróból - VBA kódpéldák

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.

Segít a fejlesztés a helyszínen, megosztva az oldalt a barátaiddal

wave wave wave wave wave