ສາລະບານ
ບົດເຝິກອົບຮົມໃຫ້ຄໍເລັກຊັນຂອງມາໂຄເພື່ອສຳເນົາຊີດໃນ Excel: ສຳເນົາ ແລະປ່ຽນຊື່ຕາມຄ່າຕາລາງ, ສຳເນົາຊີດຫຼາຍແຜ່ນ, ສຳເນົາຊີດທີ່ເຮັດວຽກໄປໃສ່ໄຟລ໌ອື່ນໂດຍບໍ່ຕ້ອງເປີດມັນ ແລະອື່ນໆອີກ.
ການສຳເນົາແຜ່ນໃນ Excel ດ້ວຍຕົນເອງແມ່ນຂ້ອນຂ້າງໄວ ແລະກົງໄປກົງມາ... ຖ້າເຮັດພຽງຄັ້ງດຽວ ຫຼື ສອງຄັ້ງ. ການເຮັດຊ້ໍາກັນຫຼາຍແຜ່ນຫຼາຍຄັ້ງແມ່ນຫນ້າເບື່ອແລະໃຊ້ເວລາຫຼາຍ. ໃນໜ້ານີ້, ເຈົ້າຈະພົບເຫັນມາໂຄຣທີ່ມີປະໂຫຍດຈຳນວນໜຶ່ງເພື່ອເຮັດໜ້າທີ່ນີ້ໃຫ້ອັດຕະໂນມັດ.
Excel VBA ເພື່ອສຳເນົາຊີດໄປໃສ່ປຶ້ມວຽກໃໝ່
ມາໂຄແຖວດຽວທີ່ງ່າຍທີ່ສຸດນີ້ເຮັດໄດ້. ອັນທີ່ຊື່ຂອງມັນແນະນຳ - ສຳເນົາຊີດທີ່ໃຊ້ວຽກໄປໃສ່ປຶ້ມວຽກໃໝ່.
Public Sub CopySheetToNewWorkbook() activeSheet.Copy End SubCopy multiple sheets in Excel with VBA
ຖ້າທ່ານຕ້ອງການ ສຳເນົາຊີດຫຼາຍແຜ່ນຈາກປຶ້ມວຽກທີ່ໃຊ້ງານໄປໃສ່ໃໝ່, ເລືອກທຸກແຜ່ນວຽກທີ່ສົນໃຈ ແລະ ແລ່ນມາໂຄຣນີ້:
Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets.Copy End SubExcel VBA ເພື່ອສຳເນົາຊີດໄປໃສ່ປຶ້ມວຽກອື່ນ
ຂຶ້ນຢູ່ກັບບ່ອນທີ່ທ່ານຕ້ອງການໃສ່ແຜ່ນທີ່ສຳເນົາໄວ້, ໃຫ້ໃຊ້ມາໂຄຣອັນໜຶ່ງຕໍ່ໄປນີ້.
ສຳເນົາຊີດໄປໃສ່ຈຸດເລີ່ມຕົ້ນຂອງປຶ້ມວຽກອື່ນ
ມາໂຄຣນີ້ຈະສຳເນົາຊີດທີ່ນຳໃຊ້ກ່ອນ. ແຜ່ນວຽກອື່ນໆທັງໝົດໃນໄຟລ໌ປາຍທາງ, Book1 ໃນຕົວຢ່າງນີ້. ເພື່ອສຳເນົາໄປໃສ່ໄຟລ໌ອື່ນ, ແທນທີ່ "Book1.xlsx" ດ້ວຍຊື່ເຕັມຂອງປຶ້ມເປົ້າໝາຍຂອງເຈົ້າ.
ຍ່ອຍສາທາລະນະCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Workbooks( "Book1.xlsx" ).Sheets(1) End SubCopy sheets to the end of another workbook
Post of this codes duplicates the worksheet active and ວາງສຳເນົາໃສ່ທ້າຍຂອງ Book1 . ອີກເທື່ອໜຶ່ງ, ກະລຸນາຈື່ຈໍາແທນທີ່ "Book1.xlsx" ດ້ວຍຊື່ຂອງປື້ມບັນທຶກປາຍທາງຂອງທ່ານ.
ຍ່ອຍສາທາລະນະ CopySheetToEndAnotherWorkbook() activeSheet.Copy After:=Workbooks( "Book1.xlsx" ).Sheets(Workbooks( "Book1.xlsx " ).Worksheets.Count) End Subໝາຍເຫດ. ເພື່ອໃຫ້ມາໂຄເຮັດວຽກໄດ້, ປື້ມວຽກເປົ້າໝາຍຈະຕ້ອງຖືກບັນທຶກໄວ້ໃນຮາດໄດ ຫຼືເຄືອຂ່າຍຂອງທ່ານ.
ສຳເນົາຊີດໄປໃສ່ປຶ້ມວຽກທີ່ເລືອກ
ເພື່ອສາມາດສຳເນົາຊີດປັດຈຸບັນໄປໃສ່ປຶ້ມວຽກທີ່ເປີດຢູ່ໄດ້, ທ່ານສາມາດສ້າງ UserForm (ຊື່ UserForm1 ) ທີ່ມີ ListBox ການຄວບຄຸມ ( ຊື່ ListBox1 ) ແລະສອງປຸ່ມ:
ຕໍ່ໄປ, ໃຫ້ຄລິກສອງຄັ້ງໃສ່ແບບຟອມ ແລະວາງລະຫັດລຸ່ມນີ້ໃນໜ້າຕ່າງລະຫັດ:
Public SelectedWorkbook As String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear For each wbk In Application.Workbooks ListBox1.AddItem (wbk.Name) Next End Sub Private Sub CommandButton1_Click() ຖ້າ ListBox1.ListIndex > -1 ຫຼັງຈາກນັ້ນ SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) End ຖ້າ Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me.Hide End Subດ້ວຍ UserForm ຢູ່ໃນສະຖານທີ່, ທ່ານສາມາດນໍາໃຊ້ຫນຶ່ງໃນຕໍ່ໄປນີ້. macros ເພື່ອຄັດລອກactive sheet ໄປໃສ່ປື້ມວຽກທີ່ທ່ານເລືອກ.
ສຳເນົາຊີດໄປທີ່ ຈຸດເລີ່ມຕົ້ນຂອງປຶ້ມວຽກທີ່ເລືອກ :
Public Sub CopySheetToBeginningAnotherWorkbook() Load UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook" " ) ຈາກນັ້ນ activeSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook).Sheets(1) End ຖ້າ Unload UserForm1 End SubCopy sheet ໄປໃສ່ ທ້າຍຂອງ workbook ທີ່ເລືອກ :
Public Sub CopySheetToEndAnotherWorkbook() ໂຫລດ UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook "" ) ຈາກນັ້ນ activeSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook).Sheets( _Workbooks(UserForm1.SelectedWorkbook) CountForm1.Selected) Worksheets. End Subເມື່ອແລ່ນໃນ Excel, macro ຈະສະແດງໃຫ້ທ່ານເຫັນລາຍຊື່ຂອງປຶ້ມວຽກທັງໝົດທີ່ເປີດໃນປັດຈຸບັນ. ທ່ານເລືອກອັນທີ່ຕ້ອງການແລ້ວຄລິກ OK:
Excel macro ເພື່ອສຳເນົາຊີດ ແລະປ່ຽນຊື່
ເມື່ອທ່ານສຳເນົາຊີດໃນ Excel, ການຈຳລອງຈະຖືກມອບໃຫ້. ຊື່ໃນຮູບແບບເລີ່ມຕົ້ນເຊັ່ນ Sheet1 (2) . macros ຕໍ່ໄປນີ້ສາມາດເຮັດໃຫ້ເຈົ້າມີບັນຫາໃນການປ່ຽນຊື່ເລີ່ມຕົ້ນດ້ວຍຕົນເອງ.
ລະຫັດນີ້ຊໍ້າກັນກັບແຜ່ນວຽກທີ່ໃຊ້ງານຢູ່, ຕັ້ງຊື່ສຳເນົາເປັນ "Test Sheet" (ທ່ານສາມາດປ່ຽນແທນມັນດ້ວຍຊື່ອື່ນທີ່ທ່ານຕ້ອງການໄດ້) , ແລະວາງແຜ່ນທີ່ສຳເນົາໄວ້ຢູ່ທ້າຍຂອງປຶ້ມວຽກປະຈຸບັນ.
Public Sub CopySheetAndRenamePredefined() activeSheet.Copy After:=Worksheets(Sheets.Count) On Error Resume Next activeSheet.Name ="Test Sheet" End Subເພື່ອອະນຸຍາດໃຫ້ຜູ້ໃຊ້ ລະບຸຊື່ຂອງແຜ່ນທີ່ຄັດລອກ , ໃຊ້ລະຫັດນີ້:
Public Sub CopySheetAndRename() Dim newName As String On Error Resume Next newName = InputBox( "ໃສ່ຊື່ສໍາລັບແຜ່ນວຽກທີ່ຄັດລອກ") ຖ້າ newName "" ຫຼັງຈາກນັ້ນ activeSheet.Copy After:=Worksheets(Sheets.Count) ໃນຄວາມຜິດພາດ ສືບຕໍ່ຕໍ່ໄປ activeSheet.Name = newName End ຖ້າສິ້ນສຸດການຍ່ອຍເມື່ອແລ່ນ, macro ສະແດງກ່ອງປ້ອນຂໍ້ມູນຕໍ່ໄປນີ້, ທີ່ທ່ານພິມຊື່ທີ່ຕ້ອງການແລ້ວກົດ OK:
Excel macro ເພື່ອຄັດລອກແຜ່ນງານແລະປ່ຽນຊື່ໂດຍອີງໃສ່ຄ່າຕາລາງ
ໃນ ບາງສະຖານະການ, ມັນອາດຈະສະດວກກວ່າທີ່ຈະຕັ້ງຊື່ສຳເນົາດ້ວຍຄ່າເຊລສະເພາະ, ຕົວຢ່າງ, ຫົວຖັນ. ສໍາລັບການນີ້, ທ່ານພຽງແຕ່ເອົາລະຫັດຂ້າງເທິງນີ້ແລະສະຫນອງຄ່າຂອງ ຈຸລັງທີ່ເລືອກໃນປັດຈຸບັນ ໄປຍັງກ່ອງປ້ອນອັດຕະໂນມັດ. ເຊັ່ນດຽວກັບຕົວຢ່າງທີ່ຜ່ານມາ, ສຳເນົາຈະຖືກວາງໄວ້ໃນຕອນທ້າຍຂອງປຶ້ມວຽກທີ່ໃຊ້ງານຢູ່.
ສ່ວນທີ່ຫຍຸ້ງຍາກທີ່ສຸດແມ່ນໃຫ້ຜູ້ໃຊ້ຂອງເຈົ້າເລືອກເຊລທີ່ຖືກຕ້ອງສະເໝີກ່ອນທີ່ຈະແລ່ນ. the macro :)
Public Sub CopySheetAndRenameByCell() Dim newName As String On Error Resume Next newName = InputBox( "ໃສ່ຊື່ສຳລັບແຜ່ນງານທີ່ສຳເນົາໄວ້", "Copy worksheet", ActiveCell.Value) ຖ້າ newName "" ຈາກນັ້ນ activeSheet. Copy After:=Worksheets(Sheets.Count) ໃນຄວາມຜິດພາດ Resume Next activeSheet.Name = newName End ຖ້າ End Subອີກທາງເລືອກ, ທ່ານສາມາດ hardcode ທີ່ຢູ່ຂອງເຊລ ທີ່ສຳເນົາຄວນມີຊື່, ເຊລ A1 ໃນລະຫັດລຸ່ມນີ້. ເພື່ອຕັ້ງຊື່ແຜ່ນວຽກທີ່ສຳເນົາໄວ້ໂດຍອີງໃສ່ຕາລາງອື່ນ, ແທນທີ່ A1 ດ້ວຍການອ້າງອີງຕາລາງທີ່ເໝາະສົມ.
Public Sub CopySheetAndRenameByCell2() Dim wks As Worksheet Set wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) ຖ້າ wks.Range ( "A1" ).Value "" ຫຼັງຈາກນັ້ນ, ມີຂໍ້ຜິດພາດສືບຕໍ່ຕໍ່ໄປ activeSheet.Name = wks.Range( "A1" ).ຄ່າສິ້ນສຸດຖ້າ wks.ເປີດໃຊ້ End SubMacro ເພື່ອຄັດລອກແຜ່ນວຽກໄປໃສ່ປື້ມບັນທຶກທີ່ປິດແລ້ວ
ມະຫາພາກນີ້ຈະສຳເນົາຊີດທີ່ໃຊ້ວຽກໄປໃສ່ໃນຕອນທ້າຍຂອງປຶ້ມວຽກປິດ. ຊື່ຂອງປຶ້ມວຽກອື່ນບໍ່ໄດ້ລະບຸໄວ້ໃນລະຫັດ - macro ຈະເປີດປ່ອງຢ້ຽມ Windows Explorer ມາດຕະຖານແລະອະນຸຍາດໃຫ້ທ່ານເລືອກເອົາໄຟລ໌ຈຸດຫມາຍປາຍທາງໃດຫນຶ່ງ:
ຫຼັງຈາກທີ່ທ່ານເລືອກໄຟລ໌. ແລະຄລິກ Open , ມະຫາພາກຈະສຳເນົາຊີດທີ່ໃຊ້ວຽກ ແລະປິດສະໝຸດວຽກເປົ້າໝາຍໂດຍອັດຕະໂນມັດ.
Public Sub CopySheetToClosedWorkbook() Dim fileName Dim closedBook As Workbook Dim currentSheet As Worksheet fileName = Application.GetOpenFilename( "Excel Files (*.xlsx), *.xlsx" ) ຖ້າ fileName False ຫຼັງຈາກນັ້ນ Application.ScreenUpdating = False Set currentSheet = Application.activeSheet Set closedBook = Workbooks. ເປີດ (fileName) currentSheet.Copy After:=closedBook.Sheets(closedBook.Worksheets.Count) closedBook. Close ( True ) Application.ScreenUpdating = True End ຖ້າ End SubExcel VBA ເພື່ອຄັດລອກແຜ່ນງານຈາກປຶ້ມວຽກອື່ນໂດຍບໍ່ຕ້ອງການເປີດ
ມະຫາພາກນີ້ຊ່ວຍໃຫ້ທ່ານສາມາດສຳເນົາແຜ່ນວຽກຈາກໄຟລ໌ Excel ອື່ນໄດ້ໂດຍບໍ່ຕ້ອງເປີດມັນ. ຊີດທີ່ສຳເນົາໄວ້ຈະຖືກໃສ່ຢູ່ທ້າຍຂອງປຶ້ມວຽກປັດຈຸບັນ.
ຈື່ໄວ້ວ່າຕ້ອງປ່ຽນແທນສອງອັນໃນລະຫັດ:
- C:\Users\XXX\Documents\ Target_Book.xlsx ຄວນຖືກປ່ຽນເປັນເສັ້ນທາງຕົວຈິງ ແລະຊື່ຂອງປຶ້ມວຽກທີ່ທ່ານຕ້ອງການສຳເນົາຊີດ.
- Sheet1 ຄວນຖືກແທນທີ່ດ້ວຍຊື່ຂອງຊີດທີ່ທ່ານຕ້ອງການສຳເນົາ.
Excel VBA ເພື່ອເຮັດຊ້ໍາຊີດຫຼາຍຄັ້ງ
ບາງຄັ້ງ, ທ່ານອາດຈະຈໍາເປັນຕ້ອງໄດ້ຊໍ້າກັນຊີດດຽວກັນຫຼາຍກວ່າຫນຶ່ງຄັ້ງ, ຕົວຢ່າງເພື່ອທົດສອບສູດຕ່າງໆໃນຊຸດຂໍ້ມູນດຽວກັນ. ອັນນີ້ສາມາດເຮັດໄດ້ງ່າຍດ້ວຍ macro ຕໍ່ໄປນີ້.
Public Sub DuplicateSheetMultipleTimes() Dim n As Integer On Error Resume Next n = InputBox( "ທ່ານຕ້ອງການສ້າງເອກະສານທີ່ມີການເຄື່ອນໄຫວຫຼາຍປານໃດ?") ຖ້າ n > = 1 ຫຼັງຈາກນັ້ນສຳລັບ numtimes = 1 To n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) ຖັດໄປຖ້າ End Subເປີດເອກະສານຕົ້ນສະບັບ, ແລ່ນ macro, ລະບຸຈຳນວນສຳເນົາຂອງແຜ່ນງານທີ່ໃຊ້ງານ.ທ່ານຕ້ອງການເຮັດ, ແລະຄລິກ OK :
ວິທີສຳເນົາຊີດໃນ Excel ດ້ວຍ VBA
ເພື່ອສຳເນົາຊີດໃນ Excel ດ້ວຍໜຶ່ງໃນ macro ຂ້າງເທິງ, ທ່ານສາມາດໃສ່ລະຫັດ VBA ເຂົ້າໄປໃນປຶ້ມຂອງເຈົ້າເອງ ຫຼືແລ່ນ macro ຈາກປຶ້ມວຽກຂອງພວກເຮົາໄດ້.
ວິທີເພີ່ມ macro ໃສ່ປຶ້ມວຽກຂອງເຈົ້າ
ເພື່ອໃສ່ ລະຫັດໃນປຶ້ມວຽກຂອງເຈົ້າ, ປະຕິບັດຂັ້ນຕອນເຫຼົ່ານີ້:
- ເປີດແຜ່ນວຽກທີ່ທ່ານຕ້ອງການສຳເນົາ.
- ກົດ Alt + F11 ເພື່ອເປີດຕົວແກ້ໄຂ Visual Basic.
- ເປີດ ແຖບດ້ານຊ້າຍ, ຄລິກຂວາ ThisWorkbook , ແລະຈາກນັ້ນຄລິກ Insert > Module .
- ວາງລະຫັດໃສ່ໃນປ່ອງຢ້ຽມລະຫັດ.
- ກົດ F5 ເພື່ອແລ່ນມາໂຄຣ.
ສຳລັບຄຳແນະນຳຂັ້ນຕອນລະອຽດ, ກະລຸນາເບິ່ງວິທີໃສ່ລະຫັດ VBA ໃນ Excel.
ວິທີແລ່ນ ມະຫາພາກຈາກປຶ້ມວຽກຕົວຢ່າງຂອງພວກເຮົາ
ອີກທາງເລືອກໜຶ່ງ, ທ່ານສາມາດດາວໂຫຼດປຶ້ມວຽກຕົວຢ່າງຂອງພວກເຮົາໄປສຳເນົາແຜ່ນ Excel ແລະແລ່ນລະຫັດຈາກບ່ອນນັ້ນໄດ້.
ປຶ້ມວຽກຕົວຢ່າງມີມາໂຄຣຕໍ່ໄປນີ້:
CopySheetToNewWorkbook - ສຳເນົາ cu rrent worksheet ໄປຫາ bookbook ໃໝ່.
CopySelectedSheets - ສຳເນົາຊີດຫຼາຍແຜ່ນທີ່ທ່ານເລືອກໃສ່ປຶ້ມວຽກໃໝ່.
CopySheetToBeginningAnotherWorkbook - ສຳເນົາຊີດທີ່ໃຊ້ວຽກ ໄປຫາຈຸດເລີ່ມຕົ້ນຂອງປຶ້ມວຽກອື່ນ.
CopySheetToEndAnotherWorkbook - ສຳເນົາຊີດທີ່ໃຊ້ວຽກໄປໃສ່ທ້າຍໄຟລ໌ Excel ອື່ນ.
CopySheetAndRename - ສຳເນົາເອກະສານປັດຈຸບັນ ແຜ່ນ,ປ່ຽນຊື່ມັນຕາມທີ່ຜູ້ໃຊ້ກຳນົດໄວ້, ແລະວາງສຳເນົາໄວ້ຕາມແຜ່ນງານອື່ນໆທັງໝົດໃນປຶ້ມວຽກປະຈຸບັນ.
CopySheetAndRenamePredefined - ສຳເນົາຊີດທີ່ໃຊ້ງານຢູ່, ໃຫ້ຊື່ hardcoded ໃສ່ສຳເນົາ ແລະວາງມັນໄວ້. ໃນຕອນທ້າຍຂອງປຶ້ມວຽກປະຈຸບັນ.
CopySheetAndRenameByCell - ເຮັດສຳເນົາຂອງຊີດທີ່ໃຊ້ວຽກ ແລະປ່ຽນຊື່ມັນໂດຍອີງໃສ່ຄ່າຕາລາງທີ່ເລືອກ.
CopySheetAndRenameByCell2 - ສຳເນົາຊີດທີ່ໃຊ້ແລ້ວ ແລະປ່ຽນຊື່ມັນໂດຍອີງໃສ່ທີ່ຢູ່ຂອງເຊລທີ່ hardcoded.
CopySheetToClosedWorkbook - ອະນຸຍາດໃຫ້ທ່ານສຳເນົາຊີດໄປໃສ່ປຶ້ມວຽກທີ່ປິດແລ້ວ.
CopySheetFromClosedWorkbook - ຊ່ວຍໃຫ້ທ່ານສາມາດສຳເນົາຊີດຈາກໄຟລ໌ Excel ອື່ນໄດ້ໂດຍບໍ່ຕ້ອງເປີດມັນ.
DuplicateSheetMultipleTimes - ໃຫ້ທ່ານສຳເນົາຊີດໃນ Excel ຫຼາຍຄັ້ງ. ແລ່ນ macro ໃນ Excel ຂອງທ່ານ, ພຽງແຕ່ເຮັດດັ່ງຕໍ່ໄປນີ້:
- ເປີດ workbook ທີ່ດາວໂຫລດມາແລະເປີດໃຊ້ເນື້ອຫາຖ້າຖືກເຕືອນ.
- ເປີດ workbook ຂອງທ່ານເອງແລະໄປຫາແຜ່ນທີ່ທ່ານຕ້ອງການ. ສຳເນົາ. <1 7>ໃນແຜ່ນງານຂອງທ່ານ, ກົດ Alt + F8, ເລືອກມະຫາພາກທີ່ສົນໃຈ, ແລະຄລິກ Run .
ນັ້ນແມ່ນວິທີທີ່ທ່ານສາມາດຊໍ້າກັນໄດ້. ແຜ່ນໃນ Excel ກັບ VBA. ຂ້າພະເຈົ້າຂໍຂອບໃຈທ່ານສໍາລັບການອ່ານແລະຫວັງວ່າຈະໄດ້ພົບທ່ານໃນ blog ຂອງພວກເຮົາໃນອາທິດຕໍ່ໄປ!