Edukien taula
Tutorialak makro bilduma bat eskaintzen du Excel-en orriak bikoizteko: kopiatu eta aldatu izena gelaxken balioaren arabera, kopiatu hainbat orri, kopiatu lan-orri aktibo bat beste fitxategi batera ireki gabe, eta abar.
Excel-en orriak eskuz kopiatzea nahiko azkarra eta erraza da... behin edo bitan egiten bada. Hainbat orri bikoiztea aspergarria da eta denbora asko eskatzen du. Orrialde honetan, zeregin hau automatizatzeko makro erabilgarri batzuk aurkituko dituzu.
Excel VBA orria lan-liburu berrira kopiatzeko
Lerro bakarreko makro honek egiten du. bere izenak iradokitzen duena zehazki - orri aktiboa lan-liburu berri batera kopiatzen du.
Public Sub CopySheetToNewWorkbook() activeSheet.Copy End SubKopiatu hainbat orri Excel-en VBArekin
Nahi baduzu kopiatu lan-liburu aktiboko hainbat orri berri batera, hautatu interesgarri diren lan-orri guztiak eta exekutatu makro hau:
Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets.Copy End SubExcel VBA orria beste lan-liburu batera kopiatzeko
Kopiatutako orria txertatu nahi duzun tokiaren arabera, erabili makro hauetako bat.
Kopiatu orria beste lan-liburu baten hasieran
Makro honek orri aktiboa kopiatzen du aurretik. Helmuga fitxategiko gainerako lan-orri guztiak, Liburua1 adibide honetan. Beste fitxategi batera kopiatzeko, ordezkatu "Book1.xlsx" helburuko lan-liburuaren izen osoarekin.
Public SubCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Workbooks( "Book1.xlsx" ).Sheets(1) End SubKopiatu orria beste lan-liburu baten amaierara
Kode zati honek lan-orri aktiboa bikoizten du eta kopia Liburu1 ren amaieran jartzen du. Berriz ere, gogoratu "Book1.xlsx" zure destinoko lan-liburuaren izenarekin ordezkatzea.
Public Sub CopySheetToEndAnotherWorkbook() activeSheet.Copy After:=Workbooks( "Book1.xlsx" ).Sheets(Workbooks( "Book1.xlsx") " ).Lan-orriak.Zenbaketa) End SubOharra. Makroek funtziona dezaten, helburuko lan-liburua zure disko gogorrean edo sarean gorde behar da.
Kopiatu orria hautatutako lan-liburu batera
Uneko orria irekita dagoen edozein lan-liburutara kopiatu ahal izateko, Erabiltzaile-inprimakia ( UserForm1 izenekoa) ListBox kontrol batekin ( ListBox1 izenekoa) eta bi botoirekin sor dezakezu:
Ondoren, egin klik bikoitza formularioan eta itsatsi beheko kodea Kode leihoan:
Public SelectedWorkbook As String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear For Every Wbk Application.Workbooks ListBox1.AddItem (wbk.Name) Hurrengo amaiera Azpi pribatua KomandoButton1_Click() ListBox1.ListIndex > -1 Then SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) End If Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Ni.Hide End SubErabiltzaile formularioa jarrita, hauetako bat erabil dezakezu kopiatzeko makroakorri aktiboa zure aukeratutako lan-liburura.
Kopiatu orria hautatutako lan-liburuaren hasierara :
Public Sub CopySheetToBeginningAnotherWorkbook() Kargatu UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook " " ) Then activeSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook).Sheets(1) End If Unload UserForm1 End SubKopiatu orria hautatutako lan-liburuaren amaierara :
Public Sub CopySheetToEndAnotherWorkbook() Load UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook "" ) Then activeSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook).Sheets( _ Workbooks.SelectedForm1.SelectedWorkbook) . End SubExcel-en exekutatzen denean, makroak unean irekitako lan-liburu guztien zerrenda erakutsiko dizu. Behar duzuna hautatu eta Ados sakatu:
Excel makroa orria kopiatzeko eta izena aldatzeko
Orri bat Excel-en kopiatzen duzunean, erreplika bat ematen zaio. izena Orria1 (2) bezalako formatu lehenetsian. Hurrengo makroek lehenetsitako izena eskuz aldatzeko arazoak aurreztuko dizkizute.
Kode honek lan-orri aktiboa bikoizten du, kopiari "Proba-orria" izendatzen dio (aske duzu nahi duzun beste izen batekin ordezkatzeko) , eta kopiatutako orria uneko lan-liburuaren amaieran jartzen du.
Public Sub CopySheetAndRenamePredefined() activeSheet.Copy After:=Worksheets(Sheets.Count) Error on Berreki Next activeSheet.Name ="Test Sheet" End SubErabiltzaileak kopiatutako orriaren izena zehazten uzteko, erabili kode hau:
Public Sub CopySheetAndRename() Dim newName As String Error On Berrekiteko Hurrengo newName = InputBox( "Idatzi kopiatutako lan-orriaren izena" ) If newName "" Then activeSheet.Copy After:=Worksheets(Sheets.Count) Errore bat gertatuz gero Berreki Hurrengo activeSheet.Name = newName End If End SubAbian jarritakoan, makroa hurrengo sarrera-koadroa bistaratzen du, eta bertan nahi duzun izena idatzi eta Ados sakatu:
Excel makroa orria kopiatzeko eta gelaxka-balioaren arabera aldatzeko
In zenbait egoeratan, komenigarriagoa izan daiteke kopiari gelaxka-balio zehatz batekin izendatzea, adibidez, zutabe-goiburu batekin. Horretarako, goiko kodea hartu eta unen aukeratutako gelaxkaren balioa automatikoki ematen diozu sarrera-koadroari. Aurreko adibidean bezala, kopia lan-liburu aktiboaren amaieran jarriko da.
Zailena exekutatu aurretik zure erabiltzaileek beti gelaxka zuzena hautatzea izango litzateke. makroa :)
Public Sub CopySheetAndRenameByCell() Dim newName As String Akatsean Berrikusi Hurrengo newName = InputBox( "Idatzi kopiatutako lan-orriaren izena" , "Kopiatu lan-orria" , ActiveCell.Value) Izen berria bada "" Ondoren ActiveSheet. Copy After:=Worksheets(Sheets.Count) Error on Berreki Next activeSheet.Name = newName End If End SubBestela, kodetu dezakezu helbidea.kopiari izena eman behar zaion gelaxka , beheko kodean A1 gelaxka. Kopiatutako lan-orriari beste gelaxka batean oinarrituta izendatzeko, ordezkatu A1 gelaxka-erreferentzia egoki batekin.
Public Sub CopySheetAndRenameByCell2() Dim wks As Worksheet Set wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) If wks.Range ( "A1" ).Value "" Then Error On Continue Next activeSheet.Name = wks.Range( "A1" ).Value End If wks.Activate End SubMakroa lan-orria lan-liburu itxi batera kopiatzeko
Makro honek orri aktiboa kopiatzen du itxitako lan-liburu baten amaieran. Beste lan-liburu baten izena ez dago kodean zehazten - makroak Windows Explorer leiho estandarra irekiko du eta helmugako edozein fitxategi aukeratzeko aukera emango dizu:
Fitxategia hautatu ondoren eta egin klik Ireki , makroak orri aktiboa kopiatuko du eta helburuko lan-liburua automatikoki itxiko du.
Public Sub CopySheetToClosedWorkbook() Dim fileName Dim closedBook As Workbook As Dim currentSheet As Worksheet fileName = Application.GetOpenFilename( "Excel Fitxategiak (*.xlsx), *.xlsx" ) If fileName False Then Application.ScreenUpdating = False Set currentSheet = Application.activeSheet Set closedBook = Lan-koadernoak. Ireki (fitxategiaren izena) currentSheet.Copy After:=closedBook.Sheets(closedBook.Worksheets.Count) closedBook. Itxi ( True ) Application.ScreenUpdating = True End If End SubExcel VBA orria beste lan-liburu batetik kopiatzeko gabeirekitzea
Makro honek beste Excel fitxategi batetik lan-orri bat kopiatzeko aukera ematen dizu ireki gabe. Kopiatutako orria uneko lan-koadernoaren amaieran txertatuko da.
Gogoan izan kodean ordezkapen pare bat egitea:
- C:\Users\XXX\Documents\ Target_Book.xlsx orri bat kopiatu nahi duzun lan-liburuaren benetako bide eta izenera aldatu behar da.
- Sheet1 kopiatu nahi duzun orriaren izenarekin ordezkatu behar da.
Excel VBA orria hainbat aldiz bikoizteko
Batzuetan, baliteke orri bera behin baino gehiagotan bikoiztu behar izatea, adibidez, datu multzo berean formula desberdinak probatzeko. Hau erraz egin daiteke honako makro honekin.
Public Sub DuplicateSheetMultipleTimes() Dim n As Integer On Error Continue Next n = InputBox( "Zenbat kopia egin nahi dituzu orri aktiboaren?" ) n > = 1 Then For numtimes = 1 To n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End If End SubIreki jatorrizko orria, exekutatu makroa, zehaztu orri aktiboaren zenbat kopiaegin nahi duzun eta egin klik Ados :
Nola bikoiztu orriak Excel-en VBA-rekin
Orri bat Excel-en kopiatzeko goiko makroetako batekin, VBA kodea zure liburuan txerta dezakezu edo gure adibide-koadernoko makro bat exekutatu.
Nola gehitu makro bat zure lan-liburuan
Txertatu kodean zure lan-liburuan, egin urrats hauek:
- Ireki kopiatu nahi duzun lan-orria.
- Sakatu Alt + F11 Visual Basic editorea irekitzeko.
- Aktibatuta ezkerreko panelean, egin klik eskuineko botoiarekin ThisWorkbook eta, ondoren, sakatu Txertatu > Modulua .
- Itsatsi kodea Kodearen leihoan.
- Sakatu F5 makroa exekutatzeko.
Pausoz pauso argibide zehatzak ikusteko, ikusi Nola txertatu VBA kodea Excel-en.
Nola exekutatu Gure adibideko lan-koadernoko makro bat
Bestela, gure ereduko lan-koadernoa deskargatu dezakezu Duplicate Excel Sheets-era eta hortik exekutatu kodea.
Lagin-koadernoak makro hauek ditu:
CopySheetToNewWorkbook - kua kopiatzen du alokatu lan-orria lan-liburu berri batera.
CopySelectedSheets - hautatzen dituzun hainbat orri lan-liburu berri batera kopiatzen ditu.
CopySheetToBeginningAnotherWorkbook - orri aktiboa kopiatzen du. beste lan-liburu baten hasierara.
CopySheetToEndAnotherWorkbook - orri aktiboa beste Excel fitxategi baten amaierara kopiatzen du.
CopySheetAndRename - uneko dokumentua bikoizten du. xafla,erabiltzaileak zehaztutakoaren izena aldatzen du, eta uneko lan-liburuko beste orri guztien ondoren jartzen du kopia.
CopySheetAndRenamePredefined - orri aktiboa bikoizten du, kopiari gogor kodetutako izen bat ematen dio eta jartzen du. uneko lan-liburuaren amaieran.
CopySheetAndRenameByCell - orri aktiboaren kopia bat egiten du eta hautatutako gelaxka-balioaren arabera izena aldatzen du.
CopySheetAndRenameByCell2 - orri aktiboa kopiatzen du eta kodetutako gelaxka-helbidearen arabera izena aldatzen du.
CopySheetToClosedWorkbook - orria lan-liburu itxi batera kopiatzeko aukera ematen du.
CopySheetFromClosedWorkbook - beste Excel fitxategi batetik orri bat kopiatzeko aukera ematen dizu, ireki gabe.
DuplicateSheetMultipleTimes - Excel-en orri bat hainbat aldiz bikoizteko aukera ematen du.
To exekutatu makroa zure Excel-en, egin hauxe:
- Ireki deskargatutako lan-liburua eta gaitu edukia eskatzen bazaizu.
- Ireki zure lan-liburua eta nabigatu nahi duzun orrira. kopia. <1 7>Zure lan-orrian, sakatu Alt + F8 , hautatu interesgarria den makroa eta sakatu Exekutatu .
Horrela bikoiztu dezakezu Excel-en fitxa bat VBA-rekin. Eskerrik asko irakurtzeagatik eta datorren astean gure blogean ikustea espero dut!