Mundarija
O'quv qo'llanma Excelda varaqlarni takrorlash uchun makroslar to'plamini taqdim etadi: hujayra qiymatiga qarab nusxa ko'chirish va nomini o'zgartirish, bir nechta varaqlardan nusxa ko'chirish, faol ish varag'ini ochmasdan boshqa faylga nusxalash va boshqalar.
Excelda varaqlarni qo'lda nusxalash juda tez va tushunarli... bir yoki ikki marta bajarilsa. Bir nechta varaqlarni bir necha marta takrorlash zerikarli va vaqt talab etadi. Ushbu sahifada siz ushbu vazifani avtomatlashtirish uchun bir nechta foydali makroslarni topasiz.
Excel VBA varaqni yangi ish kitobiga nusxalash
Bu eng oddiy bir qatorli makros aynan uning nomi taklif qilgan narsa - faol varaqni yangi ish kitobiga ko'chiradi.
Public Sub CopySheetToNewWorkbook() activeSheet.Copy End SubVBA yordamida Excelda bir nechta varaqlarni nusxalash
Agar xohlasangiz faol ish kitobidan bir nechta varaqlarni yangisiga ko'chiring, qiziqtirgan barcha ish varaqlarini tanlang va ushbu makrosni ishga tushiring:
Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets.Copy End SubVaraqni boshqa ish kitobiga nusxalash uchun Excel VBA
Ko‘chirilgan varaqni qaerga qo‘yish kerakligiga qarab, quyidagi makroslardan birini ishlating.
Vaqshni boshqa ish kitobining boshiga nusxalash
Ushbu makros faol varaqdan oldin nusxa ko‘chiradi. maqsad fayldagi barcha boshqa ish varaqlari, bu misolda Kitob1 . Boshqa faylga nusxalash uchun “Book1.xlsx”ni maqsadli ish kitobingizning toʻliq nomi bilan almashtiring.
Umumiy subCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Workbooks( "Book1.xlsx" ).Sheets(1) End SubVaraqni boshqa ish kitobining oxiriga nusxalash
Ushbu kod qismi faol ishchi varaqni takrorlaydi va nusxani Kitob1 oxiriga qo'yadi. Yana, iltimos, "Book1.xlsx" ni maqsadli ish kitobingiz nomi bilan almashtirishni unutmang.
Eslatma. Makroslar ishlashi uchun maqsadli ish kitobi qattiq diskda yoki tarmoqda saqlanishi kerak.
Varaqni tanlangan ish kitobiga nusxalash
Joriy varaqni istalgan ochiq ish kitobiga nusxalash uchun, ListBox boshqaruvi ( ListBox1 ) va ikkita tugma bilan UserForm ( UserForm1 deb nomlangan) yaratishingiz mumkin:
Keyin, shaklni ikki marta bosing va quyidagi kodni Kod oynasiga qo'ying:
Public SelectedWorkbook as String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear Har bir wbk In Application.Workbooks ListBox1.AddItem (wbk.Name) Keyingi End Sub Private Sub CommandButton1_Click() If ListBox1.ListIndex > -1 Keyin SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) End If Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me. Hide End SubUserForm o'rnatilgan bo'lsa, siz quyidagilardan birini ishlatishingiz mumkin. nusxalash uchun makroslarfaol varaqni o'zingiz tanlagan ish kitobiga ko'chiring.
Varaqni tanlangan kitobning boshiga nusxa ko'chiring:
Ommaviy Sub CopySheetToBeginningAnotherWorkbook() UserForm1 UserForm1-ni yuklang.Show If (UserForm1.SelectedWorkbook " " ) Keyin activeSheet.Copy Before:=Ish kitoblari(UserForm1.SelectedWorkbook).Sheets(1) End If UserForm1 End Subload bo'lsaVaraqni tanlangan ishchi kitobining oxiriga nusxalash:
Umumiy Sub. CopySheetToEndAnotherWorkbook() UserForm1 UserForm1-ni yuklang.Show If (UserForm1.SelectedWorkbook "" ) Keyin activeSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook).Sheets( _ Workbooks(UserForm1.Inload UserForm1.SelectedWorkbook). End SubExcelda ishga tushirilganda, makros sizga hozirda ochilgan barcha ish kitoblari ro'yxatini ko'rsatadi. Siz keraklisini tanlaysiz va OK tugmasini bosasiz:
Varaqni nusxalash va nomini o'zgartirish uchun Excel makrosi
Excelda varaqdan nusxa ko'chirganingizda, nusxaga nomini standart formatda, masalan, Shaxs 1 (2) . Quyidagi makroslar standart nomni qoʻlda oʻzgartirish muammosidan xalos qiladi.
Ushbu kod faol ish varagʻini takrorlaydi, nusxani “Test varagʻi” deb nomlaydi (uni oʻzingizga yoqqan boshqa nom bilan almashtirishingiz mumkin) , va nusxalangan varaqni joriy ish kitobining oxiriga qo'yadi.
Umumiy Sub CopySheetAndRenamePredefined() activeSheet.Copy After:=Worksheets(Sheets.Count) Xatoda Davom etish Keyingi activeSheet.Name ="Sinov varaqasi" End SubFoydalanuvchiga nusxalangan varaq nomini belgilashga ruxsat berish uchun ushbu koddan foydalaning:
Public Sub CopySheetAndRename() Dim newName as String On Xato Davom etish Keyingi newName = InputBox( "Ko'chirilgan ish varag'i nomini kiriting" ) Agar newName "" Keyin activeSheet.Copy After:=Worksheets(Sheets.Count) Xatoda Davom etish Keyingi activeSheet.Name = newName End If End SubIshga tushirishda makro quyidagi kiritish oynasini ko'rsatadi, unda siz kerakli nomni kiritasiz va OK tugmasini bosing:
Vaqni nusxalash va katak qiymatiga qarab nomini o'zgartirish uchun Excel makrosi
In ba'zi hollarda, ma'lum bir katak qiymatiga ega bo'lgan nusxani nomlash qulayroq bo'lishi mumkin, masalan, ustun sarlavhasi. Buning uchun siz shunchaki yuqoridagi kodni olasiz va avtomatik ravishda hozirda tanlangan katak qiymatini kiritish maydoniga kiritasiz. Oldingi misolda bo'lgani kabi, nusxa faol ish kitobining oxiriga joylashtiriladi.
Eng qiyin tomoni, foydalanuvchilaringiz ishga tushirishdan oldin har doim to'g'ri katakchani tanlashlari kerak. makro :)
Public Sub CopySheetAndRenameByCell() Dim newName as String On Xato Davom etish Keyingi newName = InputBox( "Nusxalangan ish varag'i nomini kiriting" , "Copy worksheet" , ActiveCell.Value) Agar newName "" Keyin activeSheet. Nusxalashdan keyin:=Worksheets(Sheets.Count) Xatoda Davom etish Keyingi activeSheet.Name = newName End If End SubShuningdek, siz manzilni qattiq kodlashingiz mumkin.nusxaga nom berilishi kerak bo'lgan katak , quyidagi koddagi A1 katak. Ko‘chirilgan ishchi varaqni boshqa yacheyka asosida nomlash uchun A1 ni tegishli yacheyka havolasi bilan almashtiring.
Public Sub CopySheetAndRenameByCell2() Ishchi varag‘i sifatida xira ish varaqlarini o‘rnating wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) If wks.Range ( "A1" ).Qiymat "" Keyin Xato Davom etish Keyingi activeSheet.Name = wks.Range( "A1" ).Value End If wks.Activate End SubIshchi varaqni yopiq ish kitobiga nusxalash uchun makro
Ushbu makros faol varaqni yopiq ish kitobining oxiriga ko'chiradi. Kodda boshqa ish kitobining nomi ko'rsatilmagan - makro standart Windows Explorer oynasini ochadi va istalgan maqsad faylni tanlash imkonini beradi:
Faylni tanlaganingizdan so'ng va Ochish tugmasini bosing, so'l faol varaqdan nusxa ko'chiradi va maqsadli ish kitobini avtomatik ravishda yopadi.
Ommaviy Sub CopySheetToClosedWorkbook() Dim fileName Xira yopiq kitob Ishchi kitob sifatida xira joriy varaq Ishchi varaq sifatida fileName = Application.GetOpenFilename( "Excel" Fayllar (*.xlsx), *.xlsx" ) Agar fayl nomi noto'g'ri bo'lsa, unda Application.ScreenUpdating = False o'rnating currentSheet = Application.activeSheet o'rnating closeBook = Ish kitoblari. Ochiq (fileName) currentSheet.Copy After:=closedBook.Sheets(closedBook.Worksheets.Count) closeBook. Yopish ( True ) Application.ScreenUpdating = True End If End SubExcel VBA varaqni boshqa ish kitobidan nusxa ko'chirish uchunochilish
Ushbu makros boshqa Excel faylidan ishchi varaqni ochmasdan nusxalash imkonini beradi. Nusxalangan varaq joriy ish kitobining oxiriga kiritiladi.
Shunchaki kodni bir nechta almashtirishni unutmang:
- C:\Users\XXX\Documents\ Target_Book.xlsx siz varaqdan nusxa ko'chirmoqchi bo'lgan ish kitobining haqiqiy yo'li va nomiga o'zgartirilishi kerak.
- Sheet1 siz nusxa olmoqchi bo'lgan varaq nomi bilan almashtirilishi kerak.
Varaqni bir necha marta takrorlash uchun Excel VBA
Ba'zan bir xil varaqni bir necha marta takrorlash kerak bo'lishi mumkin, masalan, bir xil ma'lumotlar to'plamida turli formulalarni sinab ko'rish uchun. Buni quyidagi makros bilan oson bajarish mumkin.
Public Sub DuplicateSheetMultipleTimes() Dim n As Integer On Xato Davom etish Keyingi n = InputBox( "Faol varaqning nechta nusxasini yaratmoqchisiz?" ) If n > = 1 Keyin numtimes uchun = 1 To n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) Keyingi End If End SubAsl varaqni oching, makrosni ishga tushiring, faol varaqning nechta nusxasini ko'rsatingyaratmoqchisiz va OK tugmasini bosing:
VBA yordamida Excelda varaqlarni qanday ko'paytirish
Excelda varaqni nusxalash uchun Yuqoridagi makroslardan biri bilan VBA kodini o'z kitobingizga kiritishingiz yoki namunaviy ish kitobimizdan makroni ishga tushirishingiz mumkin.
Ishchi kitobingizga makrosni qanday qo'shish kerak
Qo'shish uchun Ish daftaringizga kodni kiriting, quyidagi amallarni bajaring:
- Nusxa olmoqchi bo'lgan ishchi varaqni oching.
- Visual Basic muharririni ochish uchun Alt + F11 tugmalarini bosing.
- Yoqish. chap panelda ThisWorkbook -ni o'ng tugmasini bosing va Insert > Module -ni bosing.
- Kodni kod oynasiga joylashtiring.
- Makroni ishga tushirish uchun F5 tugmasini bosing.
Batafsil bosqichma-bosqich ko'rsatmalar uchun VBA kodini Excelga qanday kiritish haqida qarang.
Qanday ishga tushirish kerak Namunaviy ish kitobimizdan makro
Shuningdek, siz bizning namunaviy ish kitobimizni Duplicate Excel Sheets dasturiga yuklab olishingiz va u yerdan kodni ishga tushirishingiz mumkin.
Namunaviy ish kitobida quyidagi makroslar mavjud:
CopySheetToNewWorkbook - kubni nusxalaydi ishchi varaqni yangi ish kitobiga rrent.
CopySelectedSheets - siz tanlagan bir nechta varaqlarni yangi ish kitobiga ko'chiradi.
CopySheetToBeginningAnotherWorkbook - faol varaqdan nusxa ko'chiradi. boshqa ish kitobining boshiga.
CopySheetToEndAnotherWorkbook - faol varaqni boshqa Excel faylining oxiriga ko'chiradi.
CopySheetAndRename - joriy varaqni takrorlaydi. varaq,uning nomini foydalanuvchi tomonidan ko'rsatilgandek o'zgartiradi va nusxani joriy ish kitobidagi barcha varaqlardan keyin qo'yadi.
CopySheetAndRenamePredefined - faol varaqni takrorlaydi, nusxaga qattiq kodlangan nom beradi va uni joylashtiradi. joriy ish kitobining oxirida.
CopySheetAndRenameByCell - faol varaqning nusxasini yaratadi va tanlangan katak qiymatiga qarab uning nomini o'zgartiradi.
CopySheetAndRenameByCell2 - faol varaqdan nusxa ko'chiradi va qattiq kodlangan katak manzili asosida uning nomini o'zgartiradi.
CopySheetToClosedWorkbook - varaqni yopiq ish kitobiga nusxalash imkonini beradi.
CopySheetFromClosedWorkbook - varaqni boshqa Excel faylidan ochmasdan nusxalash imkonini beradi.
DuplicateSheetMultipleTimes - Excelda varaqni bir necha marta takrorlash imkonini beradi.
Kimga. makrosni Excel-da ishga tushiring, shunchaki quyidagilarni bajaring:
- Yuklab olingan ishchi kitobni oching va so'ralganda tarkibni yoqing.
- O'zingizning ishchi kitobingizni oching va kerakli varaqga o'ting. nusxa. <1 7>Ish varaqingizda Alt + F8 tugmalarini bosing, qiziqtirgan makroni tanlang va Ishga tushirish -ni bosing.
Shunday qilib takrorlash mumkin VBA bilan Excelda varaq. O'qiganingiz uchun tashakkur va keyingi haftada blogimizda ko'rishga umid qilaman!