မာတိကာ
သင်ခန်းစာတွင် Excel တွင် စာရွက်များပွားရန် macros အစုအဝေးကို ပံ့ပိုးပေးသည်- ဆဲလ်တန်ဖိုးအပေါ်အခြေခံ၍ မိတ္တူကူးပြီး အမည်ပြောင်းခြင်း၊ စာရွက်များစွာကို ကူးယူခြင်း၊ ၎င်းကိုဖွင့်စရာမလိုဘဲ အခြားဖိုင်သို့ ကူးယူခြင်းနှင့် အခြားအရာများ။
Excel တွင် စာရွက်များကို ကိုယ်တိုင်ကူးယူခြင်းသည် အလွန်လျင်မြန်ပြီး ရိုးရှင်းသည်... တစ်ကြိမ် သို့မဟုတ် နှစ်ကြိမ်သာ လုပ်ဆောင်ပါက။ စာရွက်များစွာကို အကြိမ်များစွာ ပွားခြင်းသည် ပျင်းစရာကောင်းပြီး အချိန်ကုန်သည်။ ဤစာမျက်နှာတွင်၊ ဤလုပ်ဆောင်စရာကို အလိုအလျောက်လုပ်ဆောင်ရန် အသုံးဝင်သော မက်ခရိုလက်တစ်ဆုပ်စာကို သင်တွေ့လိမ့်မည်။
စာရွက်ကို အလုပ်စာအုပ်အသစ်သို့ကူးယူရန် Excel VBA
ဤအရိုးရှင်းဆုံးတစ်ကြောင်းတည်းမက်ခရိုလုပ်ဆောင်သည် ၎င်း၏အမည်ကို အတိအကျ အကြံပြုထားသည် - တက်ကြွသောစာရွက်ကို အလုပ်စာအုပ်အသစ်သို့ ကူးယူပါ။
Public Sub CopySheetToNewWorkbook() activeSheet.Copy End SubVBA ဖြင့် Excel တွင် စာရွက်များစွာကို ကူးယူပါ
သင်လိုပါက လက်ရှိ အလုပ်စာအုပ်မှ စာရွက်များစွာကို အသစ်တစ်ခုသို့ ကူးယူပါ၊ စိတ်ပါဝင်စားသည့် အလုပ်စာရွက်များအားလုံးကို ရွေးချယ်ပြီး ဤ macro ကို ဖွင့်ပါ-
Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets.Copy End SubExcel VBA စာရွက်ကို အခြား workbook သို့ ကူးယူရန်
သင်ကူးယူထားသောစာရွက်ကိုထည့်သွင်းလိုသည့်နေရာပေါ်မူတည်၍ အောက်ပါ macro များထဲမှတစ်ခုကိုအသုံးပြုပါ။
စာရွက်ကိုအခြားအလုပ်စာအုပ်၏အစသို့ကူးယူပါ
ဤ macro သည် လက်ရှိအသုံးပြုနေသောစာရွက်ကို ကော်ပီကူးပါသည်။ ဤဥပမာတွင်ရှိသော Book1 ဖိုင်ရှိ အခြားအလုပ်စာရွက်များ။ အခြားဖိုင်သို့ ကူးယူရန်၊ သင့်ပစ်မှတ် အလုပ်စာအုပ်၏ အမည်အပြည့်အစုံဖြင့် "Book1.xlsx" ကို အစားထိုးပါ။
အများသူငှာ ကဏ္ဍခွဲCopySheetToBeginningAnotherWorkbook() activeSheet.Copy Before:=Workbooks( "Book1.xlsx" ) .Sheets(1) End Subစာရွက်ကို အခြား workbook ၏အဆုံးသို့ ကူးယူပါ
ဤကုဒ်အပိုင်းအစသည် လက်ရှိအသုံးပြုနေသော worksheet ကို ပွားပြီး၊ မိတ္တူကို Book1 ၏အဆုံးတွင် ထားရှိပါ။ တစ်ဖန်၊ သင်၏ဦးတည်ရာအလုပ်စာအုပ်အမည်ဖြင့် "Book1.xlsx" ကို အစားထိုးရန် မမေ့ပါနှင့်။
အများသူငှာ CopySheetToEndAnotherWorkbook() activeSheet.Copy After:=Workbooks("Book1.xlsx") .Sheets(Workbooks("Book1.xlsx" " .Worksheets.Count) Sub Subမှတ်ချက်။ မက်ခရိုများအလုပ်လုပ်ရန်အတွက်၊ ပစ်မှတ်အလုပ်စာအုပ်ကို သင်၏ hard drive သို့မဟုတ် ကွန်ရက်ပေါ်တွင် သိမ်းဆည်းထားရပါမည်။
ရွေးချယ်ထားသော အလုပ်စာအုပ်သို့ စာရွက်ကိုကူးယူပါ
လက်ရှိစာရွက်ကို ဖွင့်ထားသည့် မည်သည့် workbook သို့မဆို ကူးယူနိုင်စေရန်၊ သင်သည် ListBox ထိန်းချုပ်မှု ( ListBox1 ) နှင့် ခလုတ်နှစ်ခုဖြင့် ( UserForm1 ဟုအမည်ပေးထားသော) ကို ဖန်တီးနိုင်သည်-
ထို့နောက်၊ ဖောင်ကို နှစ်ချက်နှိပ်ပြီး ကုဒ်ဝင်းဒိုးတွင် အောက်ပါကုဒ်ကို ကူးထည့်ပါ-
Public SelectedWorkbook As String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear for each wk အတွက် 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 နေရာတွင် အောက်ပါတစ်ခုအား သင်အသုံးပြုနိုင်သည် ကော်ပီကူးယူရန်သင်ရွေးချယ်သည့် အလုပ်စာအုပ်တွင် တက်ကြွသောစာရွက်။
စာရွက်ကို ရွေးချယ်ထားသော အလုပ်စာအုပ်၏အစ သို့ စာရွက်ကူးယူပါ :
Public Sub CopySheetToBeginningAnotherWorkbook() Load UserForm1 UserForm1.ပြပါ (UserForm1.SelectedWorkbook" " ) ထို့နောက် activeSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook) Sheets(1) UserForm1 End Sub ကိုဖြုတ်လိုက်လျှင် အဆုံးသတ်စာရွက်ကို ရွေးချယ်ထားသော workbook ၏အဆုံးသို့ :
Public Sub CopySheetToEndAnotherWorkbook() UserForm1 UserForm1.Load if (UserForm1.SelectedWorkbook "") ထို့နောက် activeSheet.Copy After:=Workbooks( _UserForm1.SelectedWorkbook).Sheets( _ Workbooks(UserForm1.SelectedWorkbook)) End Form1.Selected If End SubExcel တွင် run သောအခါ၊ macro သည် လက်ရှိဖွင့်ထားသော workbooks များစာရင်းကို သင့်အား ပြသမည်ဖြစ်သည်။ သင်လိုအပ်သောတစ်ခုကိုရွေးချယ်ပြီး OK ကိုနှိပ်ပါ-
စာရွက်ကူးယူရန်နှင့် အမည်ပြောင်းရန် Excel macro
သင် Excel တွင် စာရွက်တစ်ခုကိုကူးယူသောအခါ၊ ပုံစံတူကိုပေးပါသည်။ Sheet1 (2) ကဲ့သို့သော မူရင်းဖော်မတ်တွင် အမည်။ အောက်ဖော်ပြပါ မက်ခရိုများသည် မူရင်းအမည်ကို ကိုယ်တိုင်ပြောင်းလဲခြင်း၏အခက်အခဲကို သင့်အား နှမြောနိုင်ပါသည်။
ဤကုဒ်သည် လက်ရှိအလုပ်စာရွက်ကို ထပ်ပွားစေပြီး မိတ္တူကို "Test Sheet" ဟု အမည်ပေးသည် (၎င်းကို သင်နှစ်သက်သည့် အခြားအမည်ဖြင့် အစားထိုးရန် အခမဲ့ဖြစ်သည်) နှင့် လက်ရှိအလုပ်စာအုပ်၏အဆုံးတွင် မိတ္တူကူးထားသောစာရွက်ကို နေရာချပါ။
Public Sub CopySheetAndRenamePredefined() activeSheet.Copy After:=Worksheets(Sheets.Count) အမှားတွင် ဆက်လက်လုပ်ဆောင်ရန် နောက်တစ်ခု 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 အကယ်၍ End Subလုပ်ဆောင်နေပါက၊ macro သင်အလိုရှိသောအမည်ကိုရိုက်ထည့်ကာ OK ကိုနှိပ်သည့်အောက်ပါထည့်သွင်းဘောက်စ်ကိုပြသသည်-
စာရွက်ကိုကူးယူပြီးဆဲလ်တန်ဖိုးအပေါ်အခြေခံ၍အမည်ပြောင်းရန် Excel macro
တွင် အချို့သောအခြေအနေများတွင်၊ ဥပမာ၊ ကော်လံခေါင်းစီးတစ်ခုတွင် သီးခြားဆဲလ်တန်ဖိုးတစ်ခုဖြင့် ကော်ပီတစ်ခုကို အမည်ပေးရာတွင် ပို၍အဆင်ပြေနိုင်သည်။ ယင်းအတွက်၊ သင်သည် အထက်ဖော်ပြပါ ကုဒ်ကို ရိုးရှင်းစွာ ယူပြီး လက်ရှိ ရွေးချယ်ထားသော ဆဲလ် ၏ တန်ဖိုးကို ထည့်သွင်းသည့် အကွက်သို့ အလိုအလျောက် ပေးဆောင်ပါ။ ယခင်နမူနာကဲ့သို့ပင်၊ တက်ကြွသောအလုပ်စာအုပ်၏အဆုံးတွင် မိတ္တူကို ထားရှိပါမည်။
အခက်ဆုံးအပိုင်းမှာ သင့်အသုံးပြုသူများ မလည်ပတ်မီ မှန်ကန်သောဆဲလ်ကို အမြဲရွေးချယ်ထားရန်ဖြစ်သည်။ the macro :)
Public Sub CopySheetAndRenameByCell() Error တွင် String အသစ်အမည်ကိုမှိန်လိုက်ပါ နောက်တစ်ခု newName = InputBox("ကူးယူထားသောအလုပ်စာရွက်အတွက်အမည်ကိုထည့်ပါ" ၊ "ကော်ပီစာရွက်" ၊ ActiveCell.Value) အကယ်၍ newName "" ထို့နောက် activeSheet။ Copy After:=Worksheets(Sheets.Count) Error Resume Next activeSheet.Name = newName End အကယ်၍ Sub ပြီးဆုံးပါကတနည်းအားဖြင့် သင်သည် Hardcode လိပ်စာကို လုပ်နိုင်သည်ကော်ပီဟု အမည်ပေးရမည့် ဆဲလ် ၊ အောက်ဖော်ပြပါ ကုဒ်ရှိ ဆဲလ် A1။ အခြားဆဲလ်ပေါ်အခြေခံ၍ ကူးယူထားသော အလုပ်စာရွက်အား အမည်ပေးရန်အတွက် A1 အား သင့်လျော်သောဆဲလ်ရည်ညွှန်းချက်တစ်ခုဖြင့် အစားထိုးပါ။
Public Sub CopySheetAndRenameByCell2() Dim wks As Worksheet Set wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) အကယ်၍ wks.Range ("A1" .တန်ဖိုး "" ထို့နောက် Error တွင် နောက်တစ်ခု activeSheet.Name = wks.Range("A1") .တန်ဖိုးအဆုံးသတ်မည်ဆိုပါက wks.Activate End SubMacro ကို ပိတ်ထားသော workbook သို့ အလုပ်စာရွက်ကူးယူရန် Macro
ဤ macro သည် ပိတ်ထားသော workbook တစ်ခု၏ အဆုံးသို့ တက်ကြွသော စာရွက်ကို ကူးယူသည်။ အခြားအလုပ်စာအုပ်၏အမည်ကို ကုဒ်တွင် မဖော်ပြထားပါ - မက်ခရိုသည် ပုံမှန် 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 Then Application.ScreenUpdating = False Set currentSheet = Application.activeSheet Set closedBook = Workbooks. Open (fileName) currentSheet.Copy After:=closedBook.Sheets(closedBook.Worksheets.Count) closedBook။ Close ( True ) Application.ScreenUpdating = True End အကယ်၍ End SubExcel VBA မပါဘဲ အခြား workbook မှ စာရွက်ကို ကူးယူရန်ဖွင့်လှစ်ခြင်း
ဤ macro သည် သင့်အား ဖွင့်စရာမလိုဘဲ အခြား 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 ထို့နောက် For numtimes = 1 To n activeSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) နောက်တစ်ခု အဆုံးသတ်မည်ဆိုပါက စာမျက်နှာခွဲမူရင်းစာရွက်ကိုဖွင့်ပါ၊ မက်ခရိုကိုဖွင့်ပါ၊ အသုံးပြုနေသောစာရွက်၏ ကော်ပီမည်မျှကို သတ်မှတ်ပါသင်ပြုလုပ်လိုပါက OK -
Excel တွင်စာရွက်များကို VBA ဖြင့်ပွားနည်း
Excel တွင်စာရွက်တစ်ခုကိုကူးယူရန် အထက်ဖော်ပြပါ မက်ခရိုများထဲမှ တစ်ခုဖြင့်၊ သင်သည် သင့်ကိုယ်ပိုင်စာအုပ်ထဲသို့ VBA ကုဒ်ကို ထည့်သွင်းနိုင်သည် သို့မဟုတ် ကျွန်ုပ်တို့၏နမူနာအလုပ်စာအုပ်မှ မက်ခရိုတစ်ခုအား လုပ်ဆောင်နိုင်သည်။
သင့်အလုပ်စာအုပ်တွင် မက်ခရိုထည့်နည်း
ထည့်သွင်းရန် သင့်အလုပ်စာအုပ်ရှိ ကုဒ်၊ ဤအဆင့်များကို လုပ်ဆောင်ပါ-
- သင်ကူးယူလိုသော အလုပ်စာရွက်ကိုဖွင့်ပါ။
- Visual Basic Editor ကိုဖွင့်ရန် Alt + F11 ကိုနှိပ်ပါ။
- ကိုဖွင့်ပါ။ ဘယ်ဘက်အကန့်ကို ညာကလစ်နှိပ်ပြီး ThisWorkbook ၊ ထို့နောက် Insert > Module ကိုနှိပ်ပါ။
- ကုဒ်ကို ကုဒ်ဝင်းဒိုးတွင် ကူးထည့်ပါ။
- မက်ခရိုကိုလည်ပတ်ရန် F5 ကိုနှိပ်ပါ။
အသေးစိတ် အဆင့်ဆင့်လမ်းညွှန်ချက်များအတွက်၊ Excel တွင် VBA ကုဒ်ထည့်သွင်းနည်းကို ကြည့်ပါ။
လုပ်ဆောင်နည်း ကျွန်ုပ်တို့၏နမူနာအလုပ်စာအုပ်မှ မက်ခရို
တစ်နည်းအားဖြင့် သင်သည် ကျွန်ုပ်တို့၏နမူနာအလုပ်စာအုပ်ကို Excel စာရွက်များပွားရန် ဒေါင်းလုဒ်လုပ်ပြီး ထိုနေရာမှ ကုဒ်ကိုဖွင့်နိုင်သည်။
နမူနာအလုပ်စာအုပ်တွင် အောက်ပါ မက်ခရိုများပါရှိသည်-
CopySheetToNewWorkbook - cu ကို ကူးယူသည်။ အလုပ်စာအုပ်အသစ်သို့ အလုပ်စာရွက်ကို rrent လုပ်ပါ။
CopySelectedSheets - သင်ရွေးချယ်ထားသော စာရွက်များစွာကို workbook အသစ်တစ်ခုသို့ ကူးယူပါသည်။
CopySheetToBeginningAnotherWorkbook - တက်ကြွသောစာရွက်ကို ကူးယူပါ အခြားအလုပ်စာအုပ်၏အစသို့။
CopySheetToEndAnotherWorkbook - တက်ကြွသောစာရွက်ကို အခြား Excel ဖိုင်၏အဆုံးတွင် မိတ္တူကူးပါသည်။
CopySheetAndRename - လက်ရှိကို ပွားနေပါသည်။ စာရွက်၊အသုံးပြုသူမှ သတ်မှတ်ထားသည့်အတိုင်း အမည်ပြောင်းကာ လက်ရှိအလုပ်စာအုပ်တွင် အခြားစာရွက်များအားလုံးကို ကော်ပီထည့်ပါ။
CopySheetAndRenamePredefined - တက်ကြွသောစာရွက်ကို မိတ္တူပွားပြီး ကော်ပီသို့ hardcoded အမည်ပေးကာ ၎င်းကို နေရာချပေးသည်။ လက်ရှိအလုပ်စာအုပ်၏အဆုံးတွင်။
CopySheetAndRenameByCell - တက်ကြွသောစာရွက်၏မိတ္တူကိုပြုလုပ်ပြီး ရွေးချယ်ထားသောဆဲလ်တန်ဖိုးအပေါ်အခြေခံ၍ ၎င်းကိုအမည်ပြောင်းပါ။
CopySheetAndRenameByCell2 - လက်ရှိစာရွက်ကို မိတ္တူကူးပြီး hardcoded cell address ကို အခြေခံ၍ ၎င်းကို အမည်ပြောင်းပါ။
CopySheetToClosedWorkbook - စာရွက်ကို ပိတ်ထားသော workbook သို့ ကူးယူခွင့်ပြုပါသည်။
CopySheetFromClosedWorkbook - မဖွင့်ဘဲ အခြား Excel ဖိုင်မှ စာရွက်တစ်ရွက်ကို ကူးယူနိုင်စေပါသည်။
DuplicateSheetMultipleTimes - သင့်အား Excel တွင် စာရွက်တစ်ရွက်ကို အကြိမ်များစွာ ပွားနိုင်စေပါသည်။
သို့ သင်၏ Excel တွင် macro ကိုဖွင့်ပါ၊ အောက်ပါအတိုင်းလုပ်ဆောင်ပါ-
- ဒေါင်းလုဒ်လုပ်ထားသောအလုပ်စာအုပ်ကိုဖွင့်ပြီး အကြောင်းအရာကိုတောင်းဆိုပါကဖွင့်ပါ။
- သင်၏ကိုယ်ပိုင်အလုပ်စာအုပ်ကိုဖွင့်ပြီး သင်လိုချင်သောစာရွက်ဆီသို့သွားပါ။ မိတ္တူ။ <1 7>သင်၏ worksheet တွင် Alt + F8 ကိုနှိပ်ပါ၊ စိတ်ဝင်စားသည့် macro ကိုရွေးချယ်ပြီး Run ကိုနှိပ်ပါ။
ထိုနည်းဖြင့် သင်ပွားနိုင်သည်။ VBA ဖြင့် Excel တွင်စာရွက်တစ်ခု။ ဖတ်ရှုပေးတဲ့အတွက် ကျေးဇူးတင်ပါတယ်၊ နောက်တစ်ပတ်မှာ ဘလော့မှာ ပြန်တွေ့မယ်လို့ မျှော်လင့်ပါတယ်။