VBA سان Excel ۾ هڪ شيٽ کي ڪيئن نقل ڪجي

  • هن کي شيئر ڪريو
Michael Brown

ٽيوٽوريل ميڪروز جو مجموعو مهيا ڪري ٿو ايڪسل ۾ شيٽس کي نقل ڪرڻ لاءِ: سيل جي قيمت جي بنياد تي نقل ۽ نالو تبديل ڪريو، ڪيترن ئي شيٽس کي نقل ڪريو، هڪ فعال ورڪ شيٽ کي کولڻ کان سواءِ ٻي فائل ۾ نقل ڪريو، ۽ وڌيڪ.

دستي طور تي شيٽ کي Excel ۾ نقل ڪرڻ تمام تيز ۽ سڌو آهي... جيڪڏهن صرف هڪ يا ٻه ڀيرا ڪيو وڃي. ڪيترن ئي شيٽن کي ڪيترائي ڀيرا نقل ڪرڻ بورنگ ۽ وقت سازي آهي. هن صفحي تي، توهان هن ڪم کي خودڪار ڪرڻ لاءِ ڪجهه مفيد ميڪرو ڳوليندا.

    Excel VBA شيٽ کي نئين ورڪ بڪ ۾ نقل ڪرڻ لاءِ

    هي آسان ترين ون لائين ميڪرو ڪري ٿو. بلڪل جيڪو ان جو نالو تجويز ڪري ٿو - فعال شيٽ کي نئين ورڪ بڪ ۾ نقل ڪري ٿو.

    عوامي سب CopySheetToNewWorkbook() ActiveSheet. Copy End Sub

    VBA سان Excel ۾ گھڻن شيٽ کي نقل ڪريو

    جيڪڏھن توھان چاھيو ٿا فعال ورڪ بڪ مان ڪيترن ئي شيٽس کي نئين ۾ نقل ڪريو، دلچسپي جون سڀئي ورڪ شيٽون چونڊيو ۽ هن ميڪرو کي هلايو:

    Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets. Copy End Sub

    Excel VBA شيٽ کي ٻئي ورڪ بڪ ۾ نقل ڪرڻ لاءِ

    ان تي منحصر ڪري ٿو ته توهان ڪاپي ٿيل شيٽ کي ڪٿي داخل ڪرڻ چاهيو ٿا، هيٺ ڏنل ميڪرو مان هڪ استعمال ڪريو.

    ڪپي شيٽ کي ٻئي ورڪ بڪ جي شروعات ۾ نقل ڪريو

    هي ميڪرو اڳ ۾ فعال شيٽ کي نقل ڪري ٿو ٻين سڀني ورڪ شيٽ کي منزل فائل ۾، Book1 هن مثال ۾. ٻي فائل ۾ نقل ڪرڻ لاءِ، "Book1.xlsx" کي پنهنجي ٽارگيٽ ورڪ بڪ جي مڪمل نالي سان مٽايو.

    عوامي ذيليCopySheetToBeginningAnotherWorkbook()activeSheet.Copy Before:=Workbooks( "Book1.xlsx" ).Sheets(1) End Sub

    ڪاپي شيٽ کي ٻئي ورڪ بڪ جي آخر ۾ نقل ڪريو

    ڪوڊ جو ھي ٽڪرو فعال ورڪ شيٽ کي نقل ڪري ٿو ۽ ڪاپي کي Book1 جي آخر ۾ رکي ٿو. ٻيهر، مھرباني ڪري "Book1.xlsx" کي پنھنجي منزل جي ڪم بڪ جي نالي سان تبديل ڪرڻ ياد رکو.

    Public Sub CopySheetToEndAnotherWorkbook()activeSheet.Copy After:=Workbooks( "Book1.xlsx" ) .Sheets(Workbooks( "Book1.xlsx") " .Worksheets.Count) آخر ذيلي

    نوٽ. ميڪرو ڪم ڪرڻ لاءِ، ٽارگيٽ ورڪ بڪ توهان جي هارڊ ڊرائيو يا نيٽ ورڪ تي محفوظ ٿيڻ گهرجي.

    ڪپي شيٽ کي چونڊيل ورڪ بڪ ۾

    موجوده شيٽ کي نقل ڪرڻ جي قابل ٿيڻ لاءِ ڪنهن به کليل ورڪ بڪ ۾، توهان هڪ يوزر فارم ٺاهي سگهو ٿا (نالي UserForm1 ) هڪ ListBox ڪنٽرول ( لسٽ باڪس 1 نالي) ۽ ٻن بٽڻن سان:

    اڳيون، فارم تي ڊبل ڪلڪ ڪريو ۽ ڪوڊ ونڊو ۾ ھيٺ ڏنل ڪوڊ پيسٽ ڪريو:

    Public SelectedWorkbook As String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear For Each wbk In Application.Workbooks ListBox1.Add (wbk.Name) اڳيون آخر سب پرائيويٽ سب ڪمانڊButton1_Click() If ListBox1.ListIndex > -1 پوءِ SelectedWorkbook = ListBox1.List(ListBox1.ListIndex) End If Me.Hide End Sub Private Sub CommandButton2_Click() SelectedWorkbook = "" Me.Hide End Sub

    UserForm جي جاءِ تي، توھان ھيٺ ڏنل مان ھڪڙو استعمال ڪري سگھو ٿا نقل ڪرڻ لاءِ ميڪروفعال شيٽ توھان جي پسند جي ورڪ بڪ ڏانھن.

    ڪپي شيٽ کي چونڊيل ورڪ بڪ جي شروعات ۾ :

    Public Sub CopySheetToBeginningAnotherWorkbook() Load UserForm1 UserForm1.Show If (UserForm1.kSelected" " ) پوءِ ActiveSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook).Sheets(1) End If Unload UserForm1 End Sub

    Copy Sheet to چونڊيل ورڪ بڪ جي آخر ۾ :

    Public Sub CopySheetToEndAnotherWorkbook() لوڊ ڪريو UserForm1 UserForm1.Show If (UserForm1.SelectedWorkbook "" ) پوءِ ActiveSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook).Workbooks( _ UserForm1.SelectedWorkbook).Sheets(UserForm1.SelectedWorkbook)UserForm1.UserBookSerForm1.UserBookSerForm1.UserBookSerForm1.UserBook. End Sub

    جڏهن ايڪسل ۾ هلندي، ميڪرو توهان کي هن وقت کليل سڀني ڪم بڪ جي فهرست ڏيکاريندو. توهان گهربل هڪ چونڊيو ۽ ڪلڪ ڪريو ٺيڪ:

    Excel macro شيٽ کي نقل ڪرڻ ۽ نالو تبديل ڪرڻ لاءِ

    جڏهن توهان هڪ شيٽ کي Excel ۾ نقل ڪيو ٿا، ته نقل ڏنو ويندو آهي هڪ نالو ڊفالٽ فارميٽ ۾ جيئن ته Sheet1 (2) . ھيٺ ڏنل ميڪرو توھان کي ڊفالٽ نالو دستي طور تبديل ڪرڻ جي مصيبت کان بچائي سگھن ٿا.

    ھي ڪوڊ فعال ورڪ شيٽ کي نقل ڪري ٿو، ڪاپي کي "ٽيسٽ شيٽ" جو نالو ڏئي ٿو (توهان ان کي ڪنھن ٻئي نالي سان تبديل ڪرڻ لاءِ آزاد آھيو جيڪو توھان چاھيو) ، ۽ نقل ڪيل شيٽ کي موجوده ورڪ بڪ جي آخر ۾ رکي ٿو.

    Public Sub CopySheetAndRenamePredefined()activeSheet.Copy After:=Worksheets(Sheets.Count) غلطي تي وري شروع ڪريو اڳيون activeSheet.Name ="Test Sheet" End Sub

    صارف کي اجازت ڏيڻ لاءِ ڪاپي ٿيل شيٽ لاءِ نالو بيان ڪريو ، هي ڪوڊ استعمال ڪريو:

    Public Sub CopySheetAndRename() Dim newName As String On Error اڳيون newName = InputBox( "ڪاپي ٿيل ورڪ شيٽ لاءِ نالو داخل ڪريو") جيڪڏھن نئون نالو "" پوءِ ActiveSheet.Copy After:=Worksheets(Sheets.Count) غلطي تي ٻيهر شروع ڪريو Next activeSheet.Name = newName End If End Sub

    چلڻ تي، ميڪرو ھيٺ ڏنل ان پٽ باڪس ڏيکاري ٿو، جنھن ۾ توھان مطلوب نالو ٽائيپ ڪريو ۽ OK کي دٻايو:

    Excel macro شيٽ کي نقل ڪرڻ ۽ سيل جي قيمت جي بنياد تي نالو تبديل ڪرڻ لاءِ

    In ڪجهه حالتن ۾، اهو وڌيڪ آسان ٿي سگهي ٿو ڪاپي جو نالو مخصوص سيل جي قيمت سان، مثال طور، هڪ ڪالمن هيڊر. ان لاءِ، توھان صرف مٿي ڏنل ڪوڊ وٺو ۽ في الحال چونڊيل سيل جي قيمت پاڻمرادو ان پٽ باڪس ڏانھن ڏيو. جيئن اڳئين مثال سان، ڪاپي فعال ورڪ بڪ جي آخر ۾ رکي ويندي.

    سڀ کان مشڪل حصو اهو هوندو ته توهان جا صارف هميشه هلائڻ کان پهريان صحيح سيل چونڊي the macro :)

    Public Sub CopySheetAndRenameByCell() Dim newName As String On Error Resume Next newName = InputBox( "ڪاپي ٿيل ورڪ شيٽ لاءِ نالو داخل ڪريو" , "ڪپي ورڪ شيٽ" , ActiveCell.Value) جيڪڏهن نئون نالو "" پوءِ فعال شيٽ. نقل ڪريو پوءِ:=Worksheets(Sheets.Count) غلطي تي وري شروع ڪريو اڳيون ActiveSheet.Name = نئون نالو ختم جيڪڏھن آخر ذيلي

    متبادل طور تي، توھان ڪري سگھو ٿا جو پتو هارڊ ڪوڊسيل جنهن جي ذريعي ڪاپي جو نالو رکيو وڃي، سيل A1 هيٺ ڏنل ڪوڊ ۾. ڪاپي ڪيل ورڪ شيٽ کي ٻئي سيل جي بنياد تي نالو ڏيڻ لاءِ، A1 کي مناسب سيل ريفرنس سان تبديل ڪريو.

    عوامي ذيلي CopySheetAndRenameByCell2() Dim wks As Worksheet Set wks = فعال شيٽ ActiveSheet. Copy After:=Worksheets(Sheets.Count) If wks.Range ("A1" .Value "" پوءِ نقص تي وري شروع ڪريو اڳيون ActiveSheet.Name = wks.Range( "A1" ).ويليو ختم ڪريو جيڪڏهن wks. ايڪٽيويٽ End Sub

    ڪپ ڪرڻ لاءِ ميڪرو ورڪ شيٽ کي بند ٿيل ورڪ بڪ ۾

    هي ميڪرو هڪ بند ورڪ بڪ جي آخر تائين فعال شيٽ کي نقل ڪري ٿو. ڪوڊ ۾ ٻئي ورڪ بڪ جو نالو نه ڏنو ويو آهي - ميڪرو معياري ونڊوز ايڪسپلورر ونڊو کوليندو ۽ توهان کي ڪنهن به منزل واري فائل کي چونڊڻ جي اجازت ڏيندو:

    16>

    جڏهن توهان فائل چونڊيو ۽ ڪلڪ ڪريو اوپن ، ميڪرو فعال شيٽ کي نقل ڪندو ۽ ٽارگيٽ ورڪ بڪ خودڪار طريقي سان بند ڪري ڇڏيندو.

    پبلڪ سب ڪاپي شيٽ ٽو ڪلوزڊ ورڪ بڪ () ڊم فائل جو نالو ڊم بند ٿيل ڪتاب ورڪ بڪ وانگر ڊم ڪرنٽ شيٽ As Worksheet fileName = Application.GetOpenFilename( "Excel فائلون (*.xlsx), *.xlsx" ) جيڪڏهن فائل جو نالو غلط آهي ته پوءِ Application.ScreenUpdating = غلط سيٽ ڪرنٽ شيٽ = Application.activeSheet سيٽ بند ٿيل ڪتاب = ڪم بڪ. کوليو (فائل جو نالو) ڪرنٽ شيٽ. ڪاپي کان پوءِ:=closedBook.Sheets(closedBook.Worksheets.Count) بند ٿيل ڪتاب. بند ڪريو (سچو) ايپليڪيشن.ScreenUpdating = True End If End Sub

    Excel VBA شيٽ کي نقل ڪرڻ لاءِ ٻئي ورڪ بڪ کان سواءِopening

    هي ميڪرو توهان کي قابل بڻائي ٿو هڪ ورڪ شيٽ کي نقل ڪرڻ جي ڪنهن ٻئي Excel فائل مان ان کي کولڻ کان سواءِ. نقل ڪيل شيٽ موجوده ورڪ بڪ جي آخر ۾ داخل ڪئي ويندي.

    بس ڪوڊ ۾ ڪجھ مٽائڻ لاءِ ياد رکو:

    • C:\Users\XXX\Documents\ Target_Book.xlsx کي تبديل ڪيو وڃي اصل رستو ۽ ورڪ بڪ جو نالو جنهن مان توهان شيٽ ڪاپي ڪرڻ چاهيو ٿا.
    • Sheet1 کي ان شيٽ جي نالي سان تبديل ڪيو وڃي جنهن کي توهان نقل ڪرڻ چاهيو ٿا.
    Public Sub CopySheetFromClosedWorkbook() Dim sourceBook As Workbook Application.ScreenUpdating = غلط سيٽ sourceBook = Workbooks. کوليو ( "C:\Users\XXX\Documents\Target_Book.xlsx" ) sourceBook.Sheets( "Sheet1" ).Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) SourceBook. Application بند ڪريو.ScreenUpdating = True End Sub

    Excel VBA کي نقل ڪرڻ لاءِ ڪيترائي ڀيرا شيٽ

    ڪڏهن ڪڏهن، توهان کي هڪ ئي شيٽ کي هڪ کان وڌيڪ ڀيرا نقل ڪرڻ جي ضرورت پوندي، مثال طور ساڳي ڊيٽا سيٽ تي مختلف فارمولن کي جانچڻ لاءِ. اهو آسانيءَ سان هيٺ ڏنل ميڪرو سان ڪري سگهجي ٿو.

    Public Sub DuplicateSheetMultipleTimes() Dim n As Integer On Error Resume Next n = InputBox( "توهان چالو شيٽ جون ڪيتريون ڪاپيون ٺاهڻ چاهيو ٿا؟") جيڪڏهن n > = 1 پوءِ numtimes لاءِ = 1 کان n ActiveSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) اڳيون آخر جيڪڏهن End Sub

    اصل شيٽ کوليو، ميڪرو کي هلايو، بيان ڪريو ته فعال شيٽ جون ڪيتريون ڪاپيون آهنتوهان ٺاهڻ چاهيو ٿا، ۽ ڪلڪ ڪريو OK :

    19>

    ڪيئن نقل ڪجي شيٽ کي Excel ۾ VBA سان

    Excel ۾ شيٽ کي نقل ڪرڻ لاءِ مٿي ڏنل ميڪرو مان هڪ سان، توهان يا ته پنهنجي ڪتاب ۾ VBA ڪوڊ داخل ڪري سگهو ٿا يا اسان جي نموني ورڪ بڪ مان هڪ ميڪرو هلائي سگهو ٿا.

    توهان جي ورڪ بڪ ۾ ميڪرو ڪيئن شامل ڪجي

    داخل ڪرڻ لاءِ توهان جي ورڪ بڪ ۾ ڪوڊ، هي قدم ڪريو:

    1. اوھين ورڪ شيٽ کوليو جيڪو توھان نقل ڪرڻ چاھيو ٿا.
    2. دٻايو Alt + F11 Visual Basic Editor کولڻ لاءِ.
    3. آن کاٻي پين تي، ساڄي ڪلڪ ڪريو This Workbook ، ۽ پوءِ ڪلڪ ڪريو Insert > Module .
    4. ڪوڊ کي ڪوڊ ونڊو ۾ پيسٽ ڪريو.
    5. ميڪرو کي هلائڻ لاءِ F5 کي دٻايو.

    تفصيل قدم بہ قدم ھدايتن لاءِ، مھرباني ڪري ڏسو ڏسو ڪيئن ڪجي VBA ڪوڊ Excel ۾ داخل ڪجي.

    ڪيئن ھلجي. اسان جي نموني ورڪ بڪ مان هڪ ميڪرو

    متبادل طور تي، توهان اسان جو نمونو ورڪ بڪ ڊائون لوڊ ڪري سگهو ٿا ڊپليڪيٽ ايڪسل شيٽ ۽ اتان ڪوڊ هلائي سگهو ٿا.

    نموني ورڪ بڪ ۾ هيٺيان ميڪرو آهن:

    CopySheetToNewWorkbook - ڪاپي ڪري ٿو cu ورڪ شيٽ کي نئين ورڪ بڪ ۾ رينٽ ڪريو.

    CopySelectedSheets - نقل ڪري ٿو ڪيترن ئي شيٽ کي جيڪي توهان نئين ورڪ بڪ ۾ چونڊيندا آهيو.

    CopySheetToBeginningAnotherWorkbook - نقل ڪري ٿو فعال شيٽ ٻئي ورڪ بڪ جي شروعات تائين.

    CopySheetToEndAnotherWorkbook - هڪ ٻئي ايڪسل فائل جي آخر ۾ فعال شيٽ کي نقل ڪري ٿو.

    CopySheetAndRename - موجوده کي نقل ڪري ٿو چادران جو نالو تبديل ڪري ٿو جيئن استعمال ڪندڙ طرفان بيان ڪيو ويو آهي، ۽ ڪاپي کي موجوده ورڪ بڪ ۾ ٻين سڀني شيٽ کان پوء رکي ٿو.

    CopySheetAndRenamePredefined - فعال شيٽ کي نقل ڪري ٿو، ڪاپي کي هارڊ ڪوڊ ٿيل نالو ڏئي ٿو ۽ ان کي رکي ٿو. موجوده ورڪ بڪ جي آخر ۾.

    CopySheetAndRenameByCell - فعال شيٽ جي هڪ ڪاپي ٺاهي ٿو ۽ ان کي منتخب ٿيل سيل جي قيمت جي بنياد تي تبديل ڪري ٿو.

    CopySheetAndRenameByCell2<2. CopySheetFromClosedWorkbook - توهان کي هڪ شيٽ کي ڪنهن ٻئي Excel فائل مان نقل ڪرڻ جي اجازت ڏئي ٿي ان کي کولڻ کان سواءِ.

    DuplicateSheetMultipleTimes - توهان کي هڪ شيٽ کي Excel ۾ ڪيترائي ڀيرا نقل ڪرڻ جي اجازت ڏئي ٿي.

    ڏانهن. پنھنجي Excel ۾ ميڪرو ھلايو، بس ھيٺيون ڪم ڪريو:

    1. ڊاؤن لوڊ ٿيل ورڪ بڪ کوليو ۽ مواد کي فعال ڪريو جيڪڏھن اشارو ڪيو وڃي. ڪاپي.
    2. <1 7>توهان جي ورڪ شيٽ ۾، Alt + F8 کي دٻايو، دلچسپي جو ميڪرو چونڊيو، ۽ ڪلڪ ڪريو رن .

    22>

    اهڙي طرح توهان نقل ڪري سگهو ٿا. VBA سان Excel ۾ هڪ شيٽ. مان توهان جي پڙهڻ جي مهرباني ۽ اميد آهي ته توهان کي ايندڙ هفتي اسان جي بلاگ تي ڏسڻ لاء!

    مائيڪل براون هڪ سرشار ٽيڪنالاجي جوش آهي جيڪو سافٽ ويئر اوزار استعمال ڪندي پيچيده عملن کي آسان ڪرڻ جي جذبي سان. ٽيڪنيڪي صنعت ۾ ڏهاڪن کان وڌيڪ تجربي سان، هن پنهنجي صلاحيتن کي Microsoft Excel ۽ Outlook، گڏوگڏ Google Sheets ۽ Docs ۾ ساراهيو آهي. مائيڪل جو بلاگ وقف ڪيو ويو آهي پنهنجي علم ۽ مهارت کي ٻين سان شيئر ڪرڻ لاءِ، پيداوار ۽ ڪارڪردگي کي بهتر ڪرڻ لاءِ آسان پيروي ڪرڻ واريون صلاحون ۽ سبق مهيا ڪرڻ لاءِ. چاهي توهان هڪ تجربيڪار پيشه ور آهيو يا شروعاتي، مائيڪل جو بلاگ انهن ضروري سافٽ ويئر اوزارن مان وڌ کان وڌ فائدو حاصل ڪرڻ لاءِ قيمتي بصيرتون ۽ عملي صلاحون پيش ڪري ٿو.