Բովանդակություն
Ուսուցումը տրամադրում է մակրոների հավաքածու Excel-ում թերթերը կրկնօրինակելու համար. պատճենել և վերանվանել բջջային արժեքի հիման վրա, պատճենել բազմաթիվ թերթեր, պատճենել ակտիվ աշխատաթերթը մեկ այլ ֆայլ առանց բացելու և այլն:
Excel-ում թերթերի ձեռքով պատճենումը բավականին արագ և պարզ է... եթե կատարվում է ընդամենը մեկ կամ երկու անգամ: Մի քանի թերթերի բազմակի կրկնօրինակումը ձանձրալի է և ժամանակատար: Այս էջում դուք կգտնեք մի քանի օգտակար մակրոներ՝ այս առաջադրանքն ավտոմատացնելու համար:
Excel VBA թերթիկը նոր աշխատանքային գրքում պատճենելու համար
Այս ամենապարզ մեկ տող մակրո ճիշտ այն, ինչ հուշում է նրա անունը. պատճենում է ակտիվ թերթիկը նոր աշխատանքային գրքում:
Public Sub CopySheetToNewWorkbook() activeSheet.Copy End SubՊատճենել բազմաթիվ թերթեր Excel-ում VBA-ով
Եթե ցանկանում եք պատճենեք ակտիվ աշխատանքային գրքույկից մի քանի թերթ նորը, ընտրեք բոլոր հետաքրքրող աշխատաթերթերը և գործարկեք այս մակրո.
Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets.Copy End SubExcel VBA թերթը մեկ այլ աշխատանքային գրքում պատճենելու համար
Կախված նրանից, թե որտեղ եք ցանկանում տեղադրել պատճենված թերթիկը, օգտագործեք հետևյալ մակրոներից մեկը:
Պատճենեք թերթիկը մեկ այլ աշխատանքային գրքի սկզբում
Այս մակրոն պատճենում է ակտիվ թերթիկը նախկինում բոլոր մյուս աշխատաթերթերը նպատակակետ ֆայլում, Գիրք1 այս օրինակում: Մեկ այլ ֆայլ պատճենելու համար «Book1.xlsx»-ը փոխարինեք ձեր թիրախային աշխատանքային գրքի լրիվ անվանումով:
Հանրային ենթակետCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Workbooks("Book1.xlsx"). Sheets(1) End SubՊատճենել թերթիկը մեկ այլ աշխատանքային գրքի վերջ
Կոդի այս հատվածը կրկնօրինակում է ակտիվ աշխատաթերթը և տեղադրում է պատճենը Գիրք1 -ի վերջում: Կրկին, խնդրում ենք հիշել, որ «Book1.xlsx»-ը փոխարինեք ձեր նպատակակետ աշխատանքային գրքույկի անունով:
Public Sub CopySheetToEndAnotherWorkbook() activeSheet.Copy After:=Workbooks( "Book1.xlsx" ).Sheets(Workbooks( "Book1.xlsx " ).Աշխատանքային թերթիկներ.Count) End SubՆշում. Որպեսզի մակրոները աշխատեն, նպատակային աշխատանքային գիրքը պետք է պահպանվի ձեր կոշտ սկավառակի կամ ցանցի վրա:
Պատճենեք թերթիկը ընտրված աշխատանքային գրքում
Ընթացիկ թերթիկը ցանկացած բաց աշխատանքային գրքում պատճենելու համար, Դուք կարող եք ստեղծել UserForm (անունը UserForm1 ) ListBox հսկիչով ( named ListBox1 ) և երկու կոճակներով.
Հաջորդը կրկնակի սեղմեք ձևի վրա և տեղադրեք ստորև բերված կոդը Code պատուհանում.
Public SelectedWorkbook As String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear For Every wbk In Application.Workbooks ListBox1.AddItem (wbk.Name) Next End Sub Private Sub CommandButton1_Click() If ListBox1.ListIndex > -1 Այնուհետեւ SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) End If Me. Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me. Hide End SubՈւնենալով UserForm-ը, կարող եք օգտագործել հետևյալներից մեկը: մակրոները պատճենելու համարակտիվ թերթիկը ձեր ընտրած աշխատանքային գրքում:
Պատճենեք թերթիկը ընտրված աշխատանքային գրքի սկզբում :
Public Sub CopySheetToBeginningAnotherWorkbook() Load UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook " " ) Այնուհետեւ activeSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook). Sheets(1) End If Unload UserForm1 End SubՊատճենել թերթիկը ընտրված աշխատանքային գրքի վերջում :
Public Sub CopySheetToEndAnotherWorkbook() Load UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook "" ) Այնուհետեւ activeSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook).Sheets( _ Workbooks(UserFormCooledW1ork). End SubԵրբ գործարկվում է Excel-ում, մակրոն ձեզ ցույց կտա ներկայումս բացված բոլոր աշխատանքային գրքերի ցանկը: Դուք ընտրում եք անհրաժեշտը և սեղմում OK:
Excel մակրո՝ թերթը պատճենելու և վերանվանելու համար
Երբ դուք պատճենում եք թերթիկը Excel-ում, կրկնօրինակին տրվում է անունը լռելյայն ձևաչափով, ինչպիսին է Թերթիկը1 (2) : Հետևյալ մակրոները կարող են ձեզ խնայել լռելյայն անունը ձեռքով փոխելու դժվարությունից:
Այս կոդը կրկնօրինակում է ակտիվ աշխատաթերթը, պատճենը անվանում է «Թեստային թերթիկ» (դուք ազատ եք այն փոխարինելու ցանկացած այլ անունով, որը ցանկանում եք): , և պատճենված թերթիկը տեղադրում է ընթացիկ աշխատանքային գրքի վերջում:
Public Sub CopySheetAndRenamePredefined() activeSheet.Copy After:=Worksheets(Sheets.Count) On Error Resume Next activeSheet.Name =«Test Sheet» End SubՕգտատիրոջը թույլ տալու համար նշել պատճենված թերթի անունը , օգտագործեք այս կոդը՝
Public Sub CopySheetAndRename() Dim newName As String On Error Resume Next newName = InputBox( «Մուտքագրեք պատճենված աշխատաթերթի անունը» ) If newName «» Ապա activeSheet.Copy After:=Worksheets(Sheets.Count) Սխալի դեպքում Resume Next activeSheet.Name = newName End If End SubԳործարկման արդյունքում մակրո ցուցադրում է հետևյալ մուտքագրման տուփը, որտեղ մուտքագրում եք ցանկալի անունը և սեղմում OK.
Excel մակրո՝ թերթը պատճենելու և բջիջի արժեքի հիման վրա վերանվանելու համար
In Որոշ իրավիճակներում ավելի հարմար է անվանել պատճենը որոշակի բջիջի արժեքով, օրինակ՝ սյունակի վերնագիր: Դրա համար դուք պարզապես վերցնում եք վերը նշված կոդը և ավտոմատ կերպով մուտքագրում եք ներկայիս ընտրված բջիջի արժեքը մուտքագրման տուփին: Ինչպես նախորդ օրինակում, պատճենը կտեղադրվի ակտիվ աշխատանքային գրքույկի վերջում:
Ամենադժվարն այն է, որ ձեր օգտատերերը միշտ ընտրեն ճիշտ բջիջը գործելուց առաջ: մակրո :)
Public Sub CopySheetAndRenameByCell() Dim newName As String On Error Resume Next newName = InputBox( "Enter the name for the copyed worksheet" , "Copy worksheet" , ActiveCell.Value) If newName "" Այնուհետեւ activeSheet. Copy After:=Worksheets(Sheets.Count) Սխալի դեպքում Resume Next activeSheet.Name = newName End If End SubԱյլընտրանքով, կարող եք կոշտ կոդավորել հասցենբջիջը , որով պետք է անվանակոչվի պատճենը, ստորև բերված կոդի A1 բջիջը: Պատճենված աշխատաթերթը մեկ այլ բջիջի վրա անվանելու համար փոխարինեք A1-ը համապատասխան բջջային հղումով:
Public Sub CopySheetAndRenameByCell2() Dim wks As Worksheet Set wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) If wks.Range ( "A1" ).Value "" Այնուհետեւ սխալի դեպքում Resume Next activeSheet.Name = wks.Range( "A1" ).Value End If wks.Activate End SubMacro՝ աշխատանքային թերթիկը փակ աշխատանքային գրքում պատճենելու համար
Այս մակրոն պատճենում է ակտիվ թերթիկը փակ աշխատանքային գրքի վերջում: Մեկ այլ աշխատանքային գրքի անվանումը նշված չէ կոդի մեջ. մակրոն կբացի Windows Explorer-ի ստանդարտ պատուհանը և թույլ կտա ընտրել ցանկացած նպատակակետ ֆայլ.
Ֆայլն ընտրելուց հետո: և սեղմեք Բացել , մակրոները կպատճենեն ակտիվ թերթիկը և ինքնաբերաբար կփակի նպատակային աշխատանքային գիրքը:
Public Sub CopySheetToClosedWorkbook() Dim fileName Dim փակ Գիրք Որպես աշխատանքային գրքույկ Dim currentSheet As Worksheet fileName = Application.GetOpenFilename( "Excel Ֆայլեր (*.xlsx), *.xlsx" ) Եթե fileName False Ապա Application.ScreenUpdating = False Set currentSheet = Application.activeSheet Սահմանել փակ Գրքույկ = Workbooks: Բացեք (fileName) currentSheet.Copy After:=closedBook.Sheets(closedBook.Worksheets.Count) փակ գիրք: Փակել ( True ) Application.ScreenUpdating = True End If End SubExcel VBA թերթը մեկ այլ աշխատանքային գրքից պատճենելու համար առանցբացում
Այս մակրոն թույլ է տալիս պատճենել աշխատաթերթը մեկ այլ Excel ֆայլից՝ առանց այն բացելու: Պատճենված թերթիկը կտեղադրվի ընթացիկ աշխատանքային գրքույկի վերջում:
Պարզապես հիշեք, որ մի քանի փոխարինում կատարեք կոդը՝
- C:\Users\XXX\Documents\ Target_Book.xlsx-ը պետք է փոխվի աշխատանքային գրքի իրական ուղու և անվանման, որտեղից ցանկանում եք պատճենել թերթիկը:
- Sheet1-ը պետք է փոխարինվի այն թերթի անունով, որը ցանկանում եք պատճենել:
Excel VBA թերթը մի քանի անգամ կրկնօրինակելու համար
Երբեմն ձեզ կարող է անհրաժեշտ լինել կրկնօրինակել նույն թերթը մեկից ավելի անգամ, օրինակ՝ նույն տվյալների հավաքածուի վրա տարբեր բանաձևեր փորձարկելու համար: Սա հեշտությամբ կարելի է անել հետևյալ մակրոյով։
Public Sub DuplicateSheetMultipleTimes() Dim n Որպես ամբողջ թիվ Սխալով Վերսկսել Հաջորդը n = InputBox( «Ակտիվ թերթի քանի՞ օրինակ եք ուզում ստեղծել։» ) Եթե n > = 1 Հետո numtimes = 1 To n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End If End SubԲացեք սկզբնական թերթիկը, գործարկեք մակրո, նշեք ակտիվ թերթի քանի օրինակցանկանում եք ստեղծել և սեղմեք OK :
Ինչպես կրկնօրինակել թերթերը Excel-ում VBA-ով
Թերթիկը պատճենել Excel-ում վերը նշված մակրոներից որևէ մեկով դուք կարող եք կամ տեղադրել VBA կոդը ձեր սեփական գրքում կամ գործարկել մակրո մեր նմուշի աշխատանքային գրքույկից:
Ինչպես ավելացնել մակրո ձեր աշխատանքային գրքում
Տեղադրելու համար կոդը ձեր աշխատանքային գրքում, կատարեք հետևյալ քայլերը.
- Բացեք աշխատաթերթը, որը ցանկանում եք պատճենել:
- Սեղմեք Alt + F11՝ Visual Basic Editor-ը բացելու համար:
- Միացված է: ձախ պատուհանում, աջ սեղմեք This Workbook , ապա սեղմեք Տեղադրել > Module :
- Տեղադրեք կոդը Code պատուհանում:
- Մակրոն գործարկելու համար սեղմեք F5:
Մանրամասն քայլ առ քայլ հրահանգների համար տե՛ս Ինչպես տեղադրել VBA կոդը Excel-ում:
Ինչպես գործարկել մակրո մեր նմուշի աշխատանքային գրքույկից
Այլընտրանք, դուք կարող եք ներբեռնել մեր աշխատանքային գրքույկի նմուշը Duplicate Excel թերթերում և գործարկել կոդը այնտեղից:
Նմուշի աշխատանքային գրքույկը պարունակում է հետևյալ մակրոները.
CopySheetToNewWorkbook - պատճենում է cu վերարտադրեք աշխատաթերթը նոր աշխատանքային գրքում:
CopySelectedSheets - պատճենում է ձեր ընտրած բազմաթիվ թերթերը նոր աշխատանքային գրքում:
CopySheetToBeginningAnotherWorkbook - պատճենում է ակտիվ թերթիկը մեկ այլ աշխատանքային գրքի սկիզբ:
CopySheetToEndAnotherWorkbook - պատճենում է ակտիվ թերթիկը մեկ այլ Excel ֆայլի վերջում:
CopySheetAndRename - կրկնօրինակում է ընթացիկ թերթիկ,վերանվանում է այն, ինչպես նշված է օգտատիրոջ կողմից, և պատճենը դնում է ընթացիկ աշխատանքային գրքում մնացած բոլոր թերթերից հետո:
CopySheetAndRenamePredefined - կրկնօրինակում է ակտիվ թերթիկը, տալիս է կոշտ կոդավորված անուն պատճենին և տեղադրում այն: ընթացիկ աշխատանքային գրքի վերջում:
CopySheetAndRenameByCell - պատճենում է ակտիվ թերթիկը և վերանվանում այն՝ հիմնվելով ընտրված բջիջի արժեքի վրա:
CopySheetAndRenameByCell2 - պատճենում է ակտիվ թերթիկը և վերանվանում այն՝ հիմնվելով կոշտ կոդավորված բջջային հասցեի վրա:
CopySheetToClosedWorkbook - թույլ է տալիս պատճենել թերթիկը փակ աշխատանքային գրքում:
CopySheetFromClosedWorkbook - հնարավորություն է տալիս պատճենել թերթը մեկ այլ Excel ֆայլից՝ առանց այն բացելու:
DuplicateSheetMultipleTimes - թույլ է տալիս մի քանի անգամ կրկնօրինակել թերթը Excel-ում:
To գործարկեք մակրոն ձեր Excel-ում, պարզապես կատարեք հետևյալը.
- Բացեք ներբեռնված աշխատանքային գիրքը և միացրեք բովանդակությունը, եթե ձեզ հուշեն:
- Բացեք ձեր սեփական աշխատանքային գիրքը և անցեք այն թերթիկը, որը ցանկանում եք: պատճեն. <1 7>Ձեր աշխատաթերթում սեղմեք Alt + F8 , ընտրեք հետաքրքրող մակրոն և սեղմեք Գործարկել :
Այսպես կարող եք կրկնօրինակել թերթիկ Excel-ում VBA-ով: Շնորհակալ եմ կարդալու համար և հուսով եմ, որ հաջորդ շաբաթ կտեսնենք ձեզ մեր բլոգում: