Агуулгын хүснэгт
Энэ заавар нь Excel-д хуудас хуулбарлах макроны цуглуулгыг өгдөг: нүдний утгад үндэслэн хуулах, нэрийг өөрчлөх, олон хуудас хуулах, идэвхтэй ажлын хуудсыг нээхгүйгээр өөр файл руу хуулах гэх мэт.
Хуудаснуудыг Excel-д гараар хуулах нь маш хурдан бөгөөд ойлгомжтой... нэг юмуу хоёр удаа л хийвэл. Олон хуудсыг олон удаа хуулбарлах нь уйтгартай бөгөөд цаг хугацаа их шаарддаг. Энэ хуудсан дээр та энэ ажлыг автоматжуулах цөөн хэдэн хэрэгтэй макро олох болно.
Excel VBA хуудсыг шинэ ажлын дэвтэрт хуулах
Энэ хамгийн энгийн нэг мөрт макро яг нэр нь юу болохыг харуулж байна - идэвхтэй хуудсыг шинэ ажлын дэвтэрт хуулна.
Нийтийн дэд хуулах SheetToNewWorkbook() activeSheet.Copy End SubExcel дээр олон хуудсыг 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" " ).Ажлын хуудас.Тоолох) Төгсгөлийн дэдТайлбар. Макро ажиллахын тулд зорилтот ажлын дэвтэр таны хатуу диск эсвэл сүлжээнд хадгалагдсан байх ёстой.
Хуудсыг сонгосон ажлын дэвтэрт хуулах
Одоогийн хуудсыг ямар ч нээлттэй ажлын дэвтэрт хуулах боломжтой. та UserForm ( UserForm1 нэртэй) ListBox удирдлага ( ListBox1 нэртэй) болон хоёр товчлууртай үүсгэж болно:
Дараа нь маягт дээр давхар товшоод Кодын цонхонд доорх кодыг оруулна уу:
Public SelectedWorkbook as String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear For Wbk In Application.Workbooks ListBox1.AddItem (wbk.Name) Next End Sub Private Sub CommandButton1_Click() Хэрэв ListBox1.ListIndex > -1 Дараа нь SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) End If Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me.Hide End SubUserForm-г суулгасан үед та дараах зүйлсийн аль нэгийг ашиглаж болно. хуулах макроидэвхтэй хуудсыг өөрийн сонгосон ажлын дэвтэрт оруулна уу.
Хуудсыг сонгосон ажлын дэвтрийн эхэнд хуулна уу:
Нийтийн дэд хуулах SheetToEginningAnotherWorkbook() UserForm1 UserForm1-ийг ачаалах.Хэрэв харуулах (UserForm1.SelectedWorkbook " " ) Дараа нь activeSheet.Copy before:=Workbooks(UserForm1.SelectedWorkbook).Sheets(1) End If Unload UserForm1 End SubХуудсыг сонгосон ажлын номын төгсгөлд хуулах :
Public Sub. CopySheetToEndAnotherWorkbook() UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook "" ) ачаал, Дараа нь activeSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook).Sheets( _ Workbooks(UserFormForm1.Inload)UserForm1.SelectedWorkbook). End SubExcel дээр ажиллуулах үед макро нь одоо нээгдсэн бүх ажлын номны жагсаалтыг харуулах болно. Та шаардлагатай нэгийг сонгоод OK товчийг дарна уу:
Excel макро хуудас хуулж, нэрийг нь өөрчлөх
Та Excel-д хуудсыг хуулах үед хуулбарт дараах хаяг өгөгдөнө. Хуудас1 (2) гэх мэт өгөгдмөл форматаар нэр. Дараах макронууд нь өгөгдмөл нэрийг гараар өөрчлөхөөс сэргийлж чадна.
Энэ код нь идэвхтэй ажлын хуудсыг хуулбарлаж, хуулбарыг "Тестийн хуудас" гэж нэрлэнэ (та үүнийг хүссэн өөр нэрээр солих боломжтой) , мөн хуулсан хуудсыг одоогийн ажлын дэвтрийн төгсгөлд байрлуулна.
Нийтийн дэд ХуулахХуудасAndRenamePredefined() activeSheet.Copy After:=Worksheets(Sheets.Count) дээр Алдааны Үргэлжлүүлэх Дараагийн activeSheet.Name ="Туршилтын хуудас" Төгсгөлийн дэдХэрэглэгчид хуулбарласан хуудасны нэрийг зааж өгөхийг зөвшөөрөхийн тулд дараах кодыг ашиглана уу:
Public Sub CopySheetAndRename() Dim newName as String on Error Resume Next newName = InputBox( "Хуулбарласан ажлын хуудасны нэрийг оруулна уу" ) Хэрэв newName "" Дараа нь activeSheet.Copy After:=Worksheets(Sheets.Count) дээр Алдаа Үргэлжлүүлэх Дараагийн activeSheet.Name = newName End If End SubАжиллуулах үед макро Дараах оролтын хайрцаг гарч ирэх бөгөөд та хүссэн нэрээ бичээд OK товчийг дарна уу:
Excel макро хуудас хуулж, нүдний утгад үндэслэн нэрийг өөрчлөх
Зарим тохиолдолд тодорхой нүдний утгатай хуулбарыг нэрлэх нь илүү тохиромжтой байж болох юм, жишээлбэл, баганын толгой. Үүний тулд та дээрх кодыг аваад одоо сонгогдсон нүдний утгыг автоматаар оруулах талбарт оруулна. Өмнөх жишээний адил хуулбарыг идэвхтэй ажлын дэвтрийн төгсгөлд байрлуулах болно.
Хамгийн төвөгтэй зүйл бол хэрэглэгчид ажиллуулахаасаа өмнө зөв нүдийг сонгох явдал юм. макро :)
Public Sub CopySheetAndRenameByCell() Dim newName as String On Error Resume Next newName = InputBox( "Хуулбарласан ажлын хуудасны нэрийг оруулна уу" , "Хуулбар ажлын хуудас" , ActiveCell.Value) Хэрэв newName "" Дараа нь activeSheet. Дараа нь хуулах:=Ажлын хуудас(Sheets.Count) Алдаа дээр Үргэлжлүүлэх Дараагийн activeSheet.Name = newName End Хэрэв Төгсгөлийн дэдӨөр нэг хувилбар бол та хаягыг хатуу кодлох боломжтой.хуулбарыг нэрлэх ёстой нүд , доорх кодын A1 нүд. Хуулсан ажлын хуудсыг өөр нүдэнд үндэслэн нэрлэхийн тулд A1-г тохирох нүдний лавлагаагаар солино уу.
Public Sub CopySheetAndRenameByCell2() Dim wks as Worksheet Set wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) Хэрэв wks.Range ( "A1" ).Утга "" Дараа нь алдаа гарсан Дараа нь үргэлжлүүлэх activeSheet.Name = wks.Range( "A1" ).Value End If wks.End Sub-ийг идэвхжүүлэхАжлын хуудсыг хаалттай ажлын дэвтэрт хуулах макро
Энэ макро нь идэвхтэй хуудсыг хаалттай ажлын номын төгсгөлд хуулна. Өөр ажлын номын нэрийг кодонд заагаагүй - макро нь Windows Explorer-ийн стандарт цонхыг нээж, хүссэн файлыг сонгох боломжийг олгоно:
Файлаа сонгосны дараа Нээх дээр дарвал макро идэвхтэй хуудсыг хуулж, зорилтот ажлын номыг автоматаар хаах болно.
Public Sub CopySheetToClosedWorkbook() Dim файлынНэр Бүдэг хаалттайНомыг Ажлын ном болгон бүдэгрүүлсэн. Одоогийн хуудсыг Ажлын хуудас болгон бүдгэрүүлнэ. Файлын нэр = Application.GetOpenFilename( "Excel" Файлууд (*.xlsx), *.xlsx" ) Хэрэв файлын нэр худал бол Application.ScreenUpdating = Худал Тохируулах currentSheet = Application.activeSheet Set closeBook = Workbooks. Нээлттэй (файлын нэр) currentSheet.Copy After:=closedBook.Sheets(closedBook.Worksheets.Count) хаалттайНом. Хаах ( Үнэн ) Application.ScreenUpdating = True End If End SubӨөр ажлын номноос хуудас хуулах Excel VBAнээх
Энэ макро нь өөр Excel файлаас ажлын хуудсыг нээхгүйгээр хуулах боломжийг олгодог. Хуулсан хуудсыг одоогийн ажлын дэвтрийн төгсгөлд оруулах болно.
Зүгээр л кодыг хэд хэдэн удаа солихыг санаарай:
- C:\Users\XXX\Documents\ Target_Book.xlsx-ийг таны хуудас хуулахыг хүсэж буй ажлын дэвтрийн бодит зам болон нэр болгон өөрчлөх ёстой.
- Sheet1-ийг хуулах хуудасны нэрээр солих ёстой.
Excel VBA-г олон удаа хуулбарлахын тулд
Заримдаа та нэг хуудсыг нэгээс олон удаа хуулбарлах, жишээлбэл, нэг өгөгдлийн багц дээр өөр томьёог туршиж үзэх шаардлагатай болдог. Үүнийг дараах макро ашиглан хялбархан хийж болно.
Public Sub DuplicateSheetMultipleTimes() Dim n As Integer On Error Resume Next n = InputBox( "Та идэвхтэй хуудасны хэдэн хуулбар хийхийг хүсэж байна вэ?" ) If n > = 1 Дараа нь numtimes = 1 To n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) Next End If End SubЭх хуудсыг нээж, макро ажиллуулж, идэвхтэй хуудасны хэдэн хувь байхыг зааж өгнө үү.Та хийхийг хүсэж байгаа ба OK дээр дарна уу:
Excel дээр хуудсыг VBA ашиглан хэрхэн хуулбарлах вэ
Excel дээр хуудсыг хуулах Дээрх макронуудын аль нэгийг ашиглан та VBA кодыг өөрийн номдоо оруулах эсвэл манай ажлын номноос макро ажиллуулах боломжтой.
Хэрхэн ажлын дэвтэртээ макро нэмэх вэ
Оруулахын тулд ажлын дэвтэртээ код оруулах бол дараах алхмуудыг хийгээрэй:
- Хуулбарлахыг хүсэж буй ажлын хуудсаа нээнэ үү.
- Visual Basic Editor-ыг нээхийн тулд Alt + F11 дарна уу.
- Асаалттай. зүүн талд байгаа ThisWorkbook дээр хулганы баруун товчийг дараад Insert > Module дээр товшино уу.
- Код цонхонд кодыг буулгана уу.
- Макро ажиллуулахын тулд F5 товчийг дарна уу.
Дэлгэрэнгүй алхам алхмаар зааварчилгааг Excel-д VBA кодыг хэрхэн оруулах талаар үзнэ үү.
Хэрхэн ажиллуулах талаар. Манай үлгэрчилсэн ажлын номноос макро
Та манай жишээ ажлын номыг Давхардсан Excel хуудас руу татаж аваад тэндээс кодыг ажиллуулж болно.
Жишээ нь дараах макронуудыг агуулна:
CopySheetToNewWorkbook - cu-г хуулна ажлын хуудсыг шинэ ажлын дэвтэрт rrent.
CopySelectedSheets - таны сонгосон олон хуудсыг шинэ ажлын дэвтэрт хуулна.
CopySheetToBeginningAnotherWorkbook - идэвхтэй хуудсыг хуулна. өөр ажлын номын эхэнд.
CopySheetToEndAnotherWorkbook - идэвхтэй хуудсыг өөр Excel файлын төгсгөлд хуулна.
CopySheetAndRename - одоогийн байгаа хуудсыг давхарлана. хуудас,Хэрэглэгчийн зааж өгсөн нэрийг өөрчлөх ба хуулбарыг одоогийн ажлын дэвтэрт бусад бүх хуудасны ард оруулна.
CopySheetAndRenamePredefined - идэвхтэй хуудсыг хуулбарлаж, хуулбарт хатуу кодтой нэр өгч, байрлуулна. одоогийн ажлын номын төгсгөлд.
CopySheetAndRenameByCell - идэвхтэй хуудасны хуулбарыг хийж, сонгосон нүдний утга дээр үндэслэн нэрийг нь өөрчилнө.
CopySheetAndRenameByCell2 - идэвхтэй хуудсыг хуулж, хатуу кодлогдсон нүдний хаяг дээр үндэслэн нэрийг нь өөрчилнө.
CopySheetToClosedWorkbook - хуудсыг хаалттай ажлын дэвтэрт хуулах боломжийг олгоно.
CopySheetFromClosedWorkbook - хуудсыг нээхгүйгээр өөр Excel файлаас хуулах боломжийг олгоно.
DuplicateSheetMultipleTimes - Excel-д хуудсыг олон удаа хуулбарлах боломжийг танд олгоно.
Хэнд Macro-г Excel дээрээ ажиллуулаад дараах зүйлийг хийнэ үү:
- Татаж авсан ажлын номыг нээгээд контентыг идэвхжүүлнэ үү.
- Өөрийнхөө ажлын номыг нээж, хүссэн хуудас руугаа очно уу. хуулбар. <1 7>Ажлын хуудаснаасаа Alt + F8 товчийг дарж, сонирхож буй макро сонгоод Ажиллуулах дээр дарна уу.
Ингэснээр та хуулбарлах боломжтой. Excel-ийн VBA-тай хуудас. Уншиж байгаад баярлалаа, дараа долоо хоногт манай блог дээр уулзана гэж найдаж байна!