Daptar eusi
Tutorial nyadiakeun kumpulan makro pikeun duplikat lambaran dina Excel: nyalin jeung ngaganti ngaran dumasar kana nilai sél, nyalin sababaraha lambar, nyalin lembar kerja aktip ka file sejen tanpa muka eta, sarta leuwih.
Nyalin lambaran dina Excel sacara manual lumayan gancang sareng lugas... upami dilakukeun sakali atanapi dua kali. Duplikat sababaraha lembar sababaraha kali bosen sareng nyéépkeun waktos. Dina kaca ieu, anjeun bakal manggihan sakeupeul makro mangpaat pikeun ngajadikeun otomatis ieu tugas.
Excel VBA pikeun nyalin lambar ka workbook anyar
Macro hiji-baris pangbasajanna ieu ngalakukeun. persis naon ngaranna nunjukkeun - nyalin lembar aktip ka workbook anyar.
Public Sub CopySheetToNewWorkbook() activeSheet.Copy End SubSalin sababaraha lambar dina Excel kalawan VBA
Lamun anjeun hoyong nyalin sababaraha lembar tina workbook aktip ka nu anyar, pilih sadaya lembar kerja dipikaresep tur ngajalankeun makro ieu:
Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets.Copy End SubExcel VBA pikeun nyalin lambar ka workbook sejen
Gumantung dimana rék nyelapkeun lambaran tiron, paké salah sahiji makro di handap ieu.
Salin lambaran ka awal buku kerja séjén
Makro ieu nyalin lambaran aktip saméméhna. sadaya lembar kerja sejenna dina file tujuan, Book1 dina conto ieu. Pikeun nyalin kana file séjén, ganti "Book1.xlsx" ku ngaran lengkep buku kerja udagan anjeun.
Public SubCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Workbooks( "Book1.xlsx" ).Sheets(1) End SubSalin lambar ka tungtung workbook sejen
Ieu potongan kode duplikat lembar kerja aktif jeung nempatkeun salinan ka tungtung Buku1 . Sakali deui, punten émut pikeun ngagentos "Book1.xlsx" sareng nami buku kerja tujuan anjeun.
Sub CopySheetToEndAnotherWorkbook() activeSheet.Copy After:=Workbooks( "Book1.xlsx" ).Sheets(Workbooks( "Book1.xlsx " ).Lembar Kerja.Itung) Tungtung SubCatetan. Pikeun makro tiasa dianggo, buku kerja target kedah disimpen dina hard drive atanapi jaringan anjeun.
Salin lambaran ka buku kerja anu dipilih
Pikeun tiasa nyalin lambaran ayeuna ka buku kerja anu mana waé anu dibuka, Anjeun tiasa nyiptakeun UserForm (ngaranna UserForm1 ) kalayan kontrol ListBox ( ngaranna ListBox1 ) sareng dua tombol:
Salajengna, ganda-klik formulir teras tempelkeun kode di handap dina jandela Kode:
Public SelectedWorkbook Salaku String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear Pikeun Unggal wbk Dina Application.Workbooks ListBox1.AddItem (wbk.Name) Salajengna Tungtung Sub wasta Sub CommandButton1_Click () Lamun ListBox1.ListIndex & GT; -1 Lajeng SelectedWorkbook = ListBox1.List (ListBox1.ListIndex) Tungtung Lamun Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me.Hide End SubKalayan UserForm di tempat, anjeun tiasa nganggo salah sahiji di handap ieu macros pikeun nyalin étalembar aktip ka buku kerja anu anjeun pilih.
Salin lembar ka awal buku kerja anu dipilih :
Sub CopySheetToBeginningAnotherWorkbook() Muatkeun UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook " " ) Lajeng activeSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook).Sheets(1) End If Unload UserForm1 End SubSalin lambar ka end of the dipilih workbook :
Public Sub CopySheetToEndAnotherWorkbook() Muatkan UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook "") Lajeng activeSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook).Sheets( _ Workbooks(UserWomsheet1.SelectedWorkbook). End SubNalika dijalankeun dina Excel, makro bakal nunjukkeun anjeun daptar sadaya buku kerja anu ayeuna dibuka. Anjeun pilih nu diperlukeun tur klik OK:
Excel macro pikeun nyalin lambar jeung ngaganti ngaran
Nalika anjeun nyalin lambar dina Excel, réplika dibéré a nami dina format standar sapertos Sheet1 (2) . Makro di handap ieu tiasa nyéépkeun anjeun tina masalah ngarobih nami standar sacara manual.
Kode ieu duplikat lembar kerja anu aktip, nami salinanna salaku "Lambaran Tés" (anjeun bébas ngagentos nami sanés anu anjeun pikahoyong) , sarta nempatkeun lambaran tiron dina tungtung workbook ayeuna.
Public Sub CopySheetAndRenamePredefined() activeSheet.Copy After:=Worksheets(Sheets.Count) On Error Resume Next ActiveSheet.Name ="Test Sheet" End SubPikeun ngidinan pamaké pikeun nangtukeun ngaran pikeun lambaran nu disalin , paké kodeu ieu:
Public Sub CopySheetAndRename() Taram newName Salaku String On Error Resume Next newName = InputBox( "Asupkeun ngaran lembar kerja anu disalin") Lamun newName "" Lajeng activeSheet.Copy After:=Worksheets(Sheets.Count) On Error Resume Next activeSheet.Name = newName End If End SubSanggeus jalan, makro makro mintonkeun kotak input di handap, dimana anjeun ngetik ngaran nu dipikahoyong terus pencét OK:
Excel macro pikeun nyalin lambar jeung ngaganti ngaran dumasar kana nilai sél
Dina sababaraha kaayaan, eta bisa jadi leuwih merenah pikeun ngaranan salinan kalawan nilai sél husus, Contona, hiji lulugu kolom. Jang ngalampahkeun ieu, anjeun ngan saukur nyandak kodeu di luhur sareng nyayogikeun nilai sél anu ayeuna dipilih kana kotak input sacara otomatis. Sapertos conto samemehna, salinanana bakal disimpen di tungtung buku kerja anu aktip.
Bagian anu paling hese nyaéta pangguna anjeun salawasna milih sél anu leres sateuacan ngajalankeun. makro nu :)
Alternatipna, anjeun tiasa hardcode alamatnasél dimana salinanna kedah namina, sél A1 dina kode di handap ieu. Pikeun ngaranan lembar kerja anu disalin dumasar kana sél séjén, ganti A1 ku rujukan sél anu luyu.
Sub CopySheetAndRenameByCell2() Publik Taram wks Salaku Set Lembar Kerja wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) Lamun wks.Range ( "A1" ).Nilai "" Lajeng Dina Kasalahan Resume Next activeSheet.Name = wks.Range("A1" ).Nilai Ahir Lamun wks.Aktipkeun End SubMakro pikeun nyalin lembar kerja ka workbook katutup
Makro ieu nyalin lambaran aktip ka tungtung buku kerja anu ditutup. Ngaran buku kerja sejen teu dieusian dina kode - makro bakal muka jandela Windows Explorer standar tur ngidinan Anjeun pikeun milih mana wae file tujuan:
Saatos anjeun milih payil teras klik Buka , makro bakal nyalin lembar aktip sareng nutup buku kerja target sacara otomatis.
Sub CopySheetToClosedWorkbook() Taram fileName Taram closedBook Salaku Workbook Taram currentSheet Salaku Worksheet fileName = Application.GetOpenFilename("Excel File (*.xlsx), *.xlsx" ) Lamun fileName Palsu Lajeng Application.ScreenUpdating = Palsu Set currentSheet = Application.activeSheet Set closedBook = Workbooks. Buka (Nama koropak) currentSheet.Copy After:=closedBook.Sheets(closedBook.Worksheets.Count) closedBook. Tutup ( Leres ) Application.ScreenUpdating = True End Lamun End SubExcel VBA pikeun nyalin lambar ti workbook sejen tanpabubuka
Makro ieu ngamungkinkeun anjeun nyalin lembar kerja tina file Excel anu sanés tanpa muka. Lambaran anu disalin bakal diselapkeun dina tungtung buku kerja anu ayeuna.
Ngan émut ngadamel sababaraha gaganti dina kode:
- C:\Users\XXX\Documents\ Target_Book.xlsx kedah dirobih kana jalur sareng nami buku kerja anu anjeun hoyong tiron.
- Sheet1 kedah diganti ku nami lambaran anu anjeun hoyong tiron.
Excel VBA pikeun duplikat lambar sababaraha kali
Sakapeung, Anjeun bisa jadi kudu duplikat lambar sarua leuwih ti sakali, misalna pikeun nguji rumus béda dina set data nu sarua. Ieu bisa gampang dipigawé ku makro handap.
Public Sub DuplicateSheetMultipleTimes () Taram n Salaku Integer Dina Kasalahan Resume salajengna n = InputBox ( "Sabaraha salinan lambaran aktip rék nyieun?") Lamun n & GT; = 1 Lajeng Pikeun numtimes = 1 Ka n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End If End SubBuka lambaran aslina, jalankeun makro, tangtukeun sabaraha salinan lambaran aktip.Anjeun hoyong jieun, teras klik OK :
Kumaha cara duplikat lambaran dina Excel nganggo VBA
Pikeun nyalin lambaran dina Excel nganggo salah sahiji makro di luhur, anjeun tiasa nyelapkeun kodeu VBA kana buku anjeun nyalira atanapi ngajalankeun makro tina buku kerja sampel kami.
Kumaha cara nambahkeun makro kana buku kerja anjeun
Pikeun nyelapkeun kodeu dina buku kerja anjeun, laksanakeun léngkah-léngkah ieu:
- Buka lembar kerja anu anjeun hoyong tiron.
- Pencét Alt + F11 pikeun muka Éditor Visual Basic.
- Hidup panel kénca, klik katuhu ThisWorkbook , terus klik Selapkeun > Modul .
- Tempelkeun kodeu dina jandela Kode.
- Pencét F5 pikeun ngajalankeun makro.
Pikeun pitunjuk léngkah-léngkah anu lengkep, mangga tingali Cara nyelapkeun kode VBA dina Excel.
Kumaha cara ngajalankeunana a makro tina conto workbook kami
Alternatipna, Anjeun bisa ngundeur sampel workbook kami ka Duplikat Excel Sheets tur ngajalankeun kode ti dinya.
Conto workbook ngandung makro handap:
CopySheetToNewWorkbook - nyalin cu nyéwakeun lembar kerja ka buku kerja anyar.
CopySelectedSheets - nyalin sababaraha lambar anu anjeun pilih ka buku kerja anyar.
CopySheetToBeginningAnotherWorkbook - nyalin lambaran aktip. ka awal buku kerja sejen.
CopySheetToEndAnotherWorkbook - nyalin lambaran aktip ka tungtung file Excel sejen.
CopySheetAndRename - duplikat nu ayeuna lembaran,ngaganti ngaran eta sakumaha dieusian ku pamaké, sarta nempatkeun salinan sanggeus sakabéh lambar séjén dina workbook ayeuna.
CopySheetAndRenamePredefined - duplikat lambar aktip, mere ngaran hardcoded kana salinan jeung nempatkeun eta dina tungtung buku kerja ayeuna.
CopySheetAndRenameByCell - nyieun salinan lambaran aktip tur ngaganti ngaran dumasar kana nilai sél nu dipilih.
CopySheetAndRenameByCell2 - nyalin lambaran aktip tur ngaganti ngaran dumasar kana alamat sél hardcoded.
CopySheetToClosedWorkbook - ngidinan Anjeun pikeun nyalin lambaran ka workbook nu ditutup.
CopySheetFromClosedWorkbook - ngamungkinkeun anjeun nyalin lambaran tina file Excel anu sanés tanpa kedah dibuka.
DuplicateSheetMultipleTimes - ngamungkinkeun anjeun nyalin lambaran dina Excel sababaraha kali.
Ka jalankeun makro dina Excel anjeun, ngan laksanakeun ieu:
- Buka buku kerja anu diunduh sareng aktipkeun eusi upami dipenta.
- Buka buku kerja anjeun nyalira teras arahkeun ka lambaran anu anjeun pikahoyong. nyalin. <1 7>Dina lembar kerja anjeun, pencét Alt + F8 , pilih makro anu dipikaresep, teras klik Run .
Ku kituna anjeun tiasa duplikat lambar dina Excel kalawan VBA. Hatur nuhun pikeun maca sareng ngarepkeun anjeun tiasa ningali dina blog kami minggu payun!