Kumaha duplikat lambaran dina Excel nganggo VBA

  • Bagikeun Ieu
Michael Brown

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 Sub

    Salin 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 Sub

    Excel 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 Sub

    Salin 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 Sub

    Catetan. 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 Sub

    Kalayan 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 Sub

    Salin 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 Sub

    Nalika 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 Sub

    Pikeun 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 Sub

    Sanggeus 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 :)

    Public Sub CopySheetAndRenameByCell() Taram newName Salaku String Dina Kasalahan Resume Next newName = InputBox( "Asupkeun ngaran pikeun lembar kerja disalin" , "Salin lembar kerja" , ActiveCell.Value) Mun newName "" Lajeng activeSheet. Copy After:=Worksheets(Sheets.Count) On Error Resume Next ActiveSheet.Name = newName End If End Sub

    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 Sub

    Makro 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 Sub

    Excel 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.
    Public Sub CopySheetFromClosedWorkbook() Taram sourceBook Salaku Workbook Application.ScreenUpdating = Palsu Atur sourceBook = Workbooks. Buka ( "C:\Users\XXX\Documents\Target_Book.xlsx") sourceBook.Sheets( "Sheet1" ). Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) sourceBook. Tutup Application.ScreenUpdating = True End Sub

    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 Sub

    Buka 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:

    1. Buka lembar kerja anu anjeun hoyong tiron.
    2. Pencét Alt + F11 pikeun muka Éditor Visual Basic.
    3. Hidup panel kénca, klik katuhu ThisWorkbook , terus klik Selapkeun > Modul .
    4. Tempelkeun kodeu dina jandela Kode.
    5. 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:

    1. Buka buku kerja anu diunduh sareng aktipkeun eusi upami dipenta.
    2. Buka buku kerja anjeun nyalira teras arahkeun ka lambaran anu anjeun pikahoyong. nyalin.
    3. <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!

    Michael Brown mangrupakeun enthusiast téhnologi dedicated kalawan gairah pikeun nyederhanakeun prosés kompléks ngagunakeun parabot software. Kalayan langkung ti dasawarsa pangalaman dina industri téknologi, anjeunna parantos ngasah kaahlianna dina Microsoft Excel sareng Outlook, ogé Google Sheets sareng Docs. Blog Michael dikhususkeun pikeun ngabagi pangaweruh sareng kaahlianna ka batur, nyayogikeun tip sareng tutorial anu gampang pikeun ningkatkeun produktivitas sareng efisiensi. Naha anjeun profésional berpengalaman atanapi pamula, blog Michael nawiskeun wawasan anu berharga sareng naséhat praktis pikeun ngamangpaatkeun alat parangkat lunak penting ieu.