د VBA سره په Excel کې د شیټ نقل کولو څرنګوالی

  • دا شریک کړه
Michael Brown

ټیوټوریل په Excel کې د شیټونو د نقل کولو لپاره د میکرو ټولګه چمتو کوي: د سیل ارزښت پراساس کاپي او نوم بدل کړئ، ډیری شیټونه کاپي کړئ، یو فعال کاري پاڼه بل فایل ته کاپي کړئ پرته له دې چې خلاص کړئ، او نور.

په اکسیل کې په لاسي ډول د شیټونو کاپي کول خورا ګړندي او مستقیم دي ... که یوازې یو یا دوه ځله ترسره شي. څو ځله د څو شیټونو نقل کول ستړي او وخت نیسي. په دې پاڼه کې به تاسو د دې کار اتومات کولو لپاره یو څو ګټور میکرو ومومئ.

    د نوي کاري کتاب ته د شیټ کاپي کولو لپاره ایکسل VBA

    دا خورا ساده یو لاین میکرو کوي. په حقیقت کې هغه څه چې نوم یې وړاندیز کوي - فعاله پاڼه نوي کاري کتاب ته کاپي کوي.

    عامه فرعي کاپي شیټټونیو ورک بک د فعال کاري کتاب څخه څو شیټونه نوي ته کاپي کړئ، د ګټو ټولې کاري پاڼې وټاکئ او دا میکرو پرمخ وړئ:Public Sub CopySelectedSheets() ActiveWindow.SelectedSheets. Copy End Sub

    Excel VBA ترڅو شیټ بل کاري کتاب ته کاپي کړئ

    په دې پورې اړه لري چې تاسو غواړئ چې کاپي شوې پاڼه په کوم ځای کې دننه کړئ، یو له لاندې میکرو څخه کار واخلئ.

    پاڼه د بل کاري کتاب په پیل کې کاپي کړئ

    دا میکرو مخکې له دې چې فعاله پاڼه کاپي کړي نور ټول کاري پاڼې د منزل فایل کې، Book1 په دې مثال کې. بل فایل ته د کاپي کولو لپاره، "Book1.xlsx" د خپل هدف کاري کتاب بشپړ نوم سره بدل کړئ.

    عامه فرعيCopySheetToBeginningAnotherWorkbook()activeSheet.Copy Before:=Workbooks("Book1.xlsx") .Sheets(1) د پای فرعي

    پاڼه د بل کاري کتاب په پای کې کاپي کړئ

    د کوډ دا ټوټه د فعال کاري پاڼې نقل کوي او کاپي د Book1 پای ته رسوي. یوځل بیا، مهرباني وکړئ په یاد ولرئ چې "Book1.xlsx" د خپل منزل کاري کتاب له نوم سره بدل کړئ.

    عامه فرعي کاپي شیټ ټاینډ انډرور ورک بوک " .Worksheets. Count) پای فرعي

    یادونه. د دې لپاره چې میکرو کار وکړي، د هدف کاري کتاب باید ستاسو په هارډ ډرایو یا شبکه کې خوندي شي.

    پاڼه په ټاکل شوي کاري کتاب کې کاپي کړئ

    د دې لپاره چې اوسنۍ پاڼه هر خلاص کاري کتاب ته کاپي کړئ، تاسو کولی شئ یو یوزرفارم جوړ کړئ (نوم UserForm1 ) د یو ListBox کنټرول ( نوم ListBox1 ) او دوه بټونو سره:

    بیا، په فورمه دوه ځله کلیک وکړئ او لاندې کوډ د کوډ په کړکۍ کې پیسټ کړئ:

    Public SelectedWorkbook As String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear for each wbk in application.Workbooks ListBox1.Add (wbk.Name) بل پای 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 Sub

    د یوزر فارم په ځای کې سره، تاسو کولی شئ له لاندې څخه یو کار واخلئ د کاپي کولو لپاره میکرود خپلې خوښې کاري کتاب ته فعاله پاڼه.

    پاڼه د ټاکل شوي کاري کتاب په پیل کې کاپي کړئ :

    د عامه فرعي کاپي شیټ د پیل کولوAnotherWorkbook) " ) بیا ActiveSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook).Sheets(1)End که د UserForm1 Unload Unload د UserForm1 End Sub

    پاڼه کاپي کړئ د ټاکل شوي کاري کتاب پای ته :

    عامه فرعي CopySheetToEndAnotherWorkbook() UserForm1 UserForm1 لوډ کړئ. ښکاره کړئ که (UserForm1.SelectedWorkbook "" ) بیا ActiveSheet. وروسته کاپي کړئ:=Workbooks( _ UserForm1.SelectedWorkbook) .Warkbooks( _ UserForm1.SelectedWorkbook).Sheets(UserForm1.SelectedWorkbook).Sheets(UserForm1.SelectedWorkbook).Sheets(UserForm1.SelectedWorkbook)Sheets(UserForm1.SelectedWorkbook)Sheets(UserBookor1Selected)Sheets. د پای سب

    کله چې په Excel کې چلیږي، میکرو به تاسو ته د اوسني پرانیستل شوي کاري کتابونو لیست وښيي. تاسو اړین یو وټاکئ او په OK کلیک وکړئ:

    د شیټ کاپي کولو او نوم بدلولو لپاره د ایکسل میکرو

    کله چې تاسو په Excel کې یوه پاڼه کاپي کړئ، نقل ورکول کیږي. نوم په ډیفالټ بڼه لکه Sheet1 (2) . لاندې میکرو کولی شي تاسو ته په لاسي ډول د ډیفالټ نوم بدلولو ستونزه پریږدي.

    دا کوډ د فعال ورک شیټ نقل کوي ، کاپي د "ټیسټ شیټ" په نوم نوموي (تاسو وړیا یاست چې دا د بل کوم نوم سره بدل کړئ چې تاسو یې خوښوئ) ، او کاپي شوې پاڼه د اوسني کاري کتاب په پای کې ځای په ځای کوي.

    عامه فرعي CopySheetAndRenamePredefined()activeSheet.Copy After:=Worksheets(Sheets.Count) په تېروتنه کې بل ActiveSheet.Name =د "ټیسټ شیټ" پای فرعي

    د دې لپاره چې کارونکي ته اجازه ورکړي چې کاپي شوي شیټ لپاره نوم مشخص کړي ، دا کوډ وکاروئ:

    عامه فرعي CopySheetAndRename() Dim newName as String on Error بل نوی نوم = بیا پیل کړئ InputBox("د کاپي شوي کاري پاڼې لپاره نوم ولیکئ") که نوی نوم "" نو ActiveSheet.Copy After:=Worksheets(Sheets.Count) په تېروتنه بیا پیل کړئ بل ActiveSheet.Name = newName End که End Sub

    په چلولو سره، میکرو لاندې د ننوتلو بکس ښکاره کوي، په کوم کې چې تاسو غوښتل شوي نوم ټایپ کړئ او OK فشار ورکړئ:

    د شیټ کاپي کولو او د حجرې ارزښت پراساس نوم بدلولو لپاره ایکسل میکرو

    ان په ځینو حاالتو کې، دا ممکن خورا اسانه وي چې کاپي د ځانګړي حجرې ارزښت سره نوم کړئ، د بیلګې په توګه، د کالم سرلیک. د دې لپاره، تاسو په ساده ډول پورته کوډ واخلئ او د اوسني ټاکل شوي سیل ارزښت په اتوماتيک ډول د ان پټ بکس ته وړاندې کړئ. لکه څنګه چې د تیر مثال په څیر، کاپي به د فعال کاري کتاب په پای کې ځای په ځای شي.

    تر ټولو ستونزمنه برخه به دا وي چې ستاسو کاروونکي تل د چلولو دمخه سم سیل غوره کړي. macro :)

    Public Sub CopySheetAndRenameByCell() Dim newName as String On Error بیا پیل کړئ بل نوی نوم = InputBox( "کاپي شوي کاري پاڼې لپاره نوم دننه کړئ" , "کاپي کاري پاڼه" , ActiveCell.Value) که نوی نوم "" بیا فعال شیټ. وروسته کاپي کړئ:=Worksheets(Sheets.Count) په تېروتنه بیا پیل کړئ بل ActiveSheet.Name = newName End که End Sub

    په بدیل سره، تاسو کولی شئ د پته هارډ کوډ کړئحجره چې په واسطه یې کاپي باید نومول شي، په لاندې کوډ کې A1 حجره. د بل حجرې پر بنسټ د کاپي شوي ورک شیټ نومولو لپاره، A1 د مناسب سیل حوالې سره بدل کړئ.

    عامه فرعي CopySheetAndRenameByCell2() Dim wks As Worksheet Set wks = فعال شیټ ActiveSheet. کاپي وروسته:=Worksheets(Sheets.Count) که wks.Range ( "A1" .Value "" بیا په تېروتنه کې بل ActiveSheet.Name = wks.Range("A1") .Value End که wks. فعال کړئ End Sub

    ماکرو د ورک شیټ تړل شوي کاري کتاب ته کاپي کړئ

    دا میکرو فعاله پاڼه د تړل شوي کاري کتاب پای ته کاپي کوي. د بل کاري کتاب نوم په کوډ کې نه دی مشخص شوی - میکرو به د وینډوز اکسپلورر معیاري کړکۍ پرانیزي او تاسو ته اجازه درکوي چې کوم منزل فایل غوره کړئ:

    وروسته له دې چې تاسو فایل غوره کړئ او پرانستل کلیک وکړئ، میکرو به فعاله پاڼه کاپي کړي او د هدف کاري کتاب په اوتومات ډول وتړي.

    عامه فرعي کاپي شیټټوکلوزد ورک بک فایلونه (*.xlsx) *.xlsx" ) که د فایل نوم غلط وي نو Application.ScreenUpdating = False Set currentSheet = Application.activeSheet Set ClosedBook = Workbooks. د (دوتنې نوم) اوسنی پاڼه پرانیزئ. وروسته کاپي کړئ: = بند کتاب. شیټونه( بند کتاب. ورکشیټ. شمیره) تړل شوی کتاب. وتړئ ( ریښتیني ) اپلیکیشن. سکرین اپډیټینګ = ریښتیني پای که د پای پای

    د ایکسیل VBA د بل کاري کتاب څخه د شیټ کاپي کولو لپاره پرتهخلاصول

    دا میکرو تاسو ته وړتیا درکوي پرته له خلاصیدو څخه د بل Excel فایل څخه ورک شیټ کاپي کړئ. کاپي شوې پاڼه به د اوسني کاري کتاب په پای کې داخل شي.

    یوازې په یاد ولرئ چې په کوډ کې یو څو ځایونه بدل کړئ:

    • C:\Users\XXX\Documents\ Target_Book.xlsx باید د کار کتاب په ریښتینې لار او نوم بدل شي چې تاسو غواړئ یوه پاڼه کاپي کړئ.
    • Sheet1 باید د هغه پاڼې نوم سره بدل شي چې تاسو یې کاپي کول غواړئ.
    عامه فرعي CopySheetFromClosedWorkbook() Dim sourceBook as Workbook Application.ScreenUpdating=False Set SourceBook= Workbooks. خلاص کړئ ( "C:\Users\XXX\Documents\Target_Book.xlsx" ) sourceBook.Sheets("Sheet1" ).کاپي وروسته:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.count) SourceBook. Application بند کړئ.ScreenUpdating = True End Sub

    Excel VBA څو څو ځله شیټ نقل کړئ

    ځینې وختونه، تاسو اړتیا لرئ چې ورته شیټ له یو ځل څخه ډیر نقل کړئ، د بیلګې په توګه په ورته ډیټا سیټ کې مختلف فارمولونه ازموینه وکړئ. دا د لاندې میکرو سره په اسانۍ سره ترسره کیدی شي.

    Public Sub DuplicateSheetMultipleTimes() Dim n As Integer On Error بیا پیل کړئ بل n = InputBox( "د فعال شیټ څو کاپي تاسو غواړئ؟") که n > = 1 بیا د شمیرو لپاره = 1 ته n ActiveSheet.Copy After:=ActiveWorkbook.Sheets(Worksheets.Count) بل پای که د پای پای

    اصلي پاڼه پرانیزئ، میکرو چل کړئ، مشخص کړئ چې د فعال شیټ څومره کاپي ديتاسو غواړئ چې جوړ کړئ، او کلیک وکړئ ښه :

    19>

    په Excel کې د VBA سره د شیټونو نقل کولو څرنګوالی

    په Excel کې د شیټ کاپي کولو لپاره د پورتنیو میکرو څخه یو سره، تاسو کولی شئ د VBA کوډ په خپل کتاب کې دننه کړئ یا زموږ د نمونې کاري کتاب څخه میکرو چل کړئ.

    څنګه خپل کاري کتاب ته میکرو اضافه کړئ

    د داخلولو لپاره په خپل کاري کتاب کې کوډ، دا مرحلې ترسره کړئ:

    1. هغه کاري پاڼه پرانیزئ چې تاسو یې کاپي کول غواړئ.
    2. د Visual Basic Editor د خلاصولو لپاره Alt + F11 فشار ورکړئ.
    3. آن په ښي اړخ کلیک وکړئ دا کاري کتاب ، او بیا کلیک وکړئ داخل کړئ > موډول .
    4. د کوډ کړکۍ کې کوډ پیسټ کړئ.
    5. د میکرو چلولو لپاره F5 فشار ورکړئ.

    د تفصيلي ګام په ګام لارښوونو لپاره، مهرباني وکړئ وګورئ چې څنګه په Excel کې د VBA کوډ داخل کړئ.

    څنګه چلول کیږي. زموږ د نمونې کاري کتاب څخه یو میکرو

    په بدیل سره، تاسو کولی شئ زموږ د نمونې کاري کتاب ډپلیکیټ Excel شیټونو ته ډاونلوډ کړئ او له هغه ځایه کوډ چل کړئ.

    د نمونې کاري کتاب لاندې میکرو لري:

    کاپي شیټ ته نوی ورک بک - کاپي کوي کاري پاڼه نوي کاري کتاب ته راوباسئ.

    کاپي انتخاب شوي شیټونه - ډیری پاڼې کاپي کوي چې تاسو نوي کاري کتاب ته غوره کوئ.

    کاپي شیټ د پیل کولو بل کار کتاب - د فعال شیټ کاپي کوي د بل کاري کتاب پیل ته.

    CopySheetToEndAnotherWorkbook - فعاله پاڼه د بل ایکسل فایل پای ته کاپي کوي.

    CopySheetAndRename - اوسنی نقل کوي پاڼهدا نوم بدلوي لکه څنګه چې د کارونکي لخوا مشخص شوی، او کاپي یې د نورو ټولو شیټونو وروسته په اوسني کاري کتاب کې اچوي.

    کاپي شیټ او رینام پریډیفایډ - فعال پاڼه نقل کوي، کاپي ته یو هارډ کوډ شوی نوم ورکوي او ځای پر ځای کوي د اوسني کاري کتاب په پای کې.

    CopySheetAndRenameByCell - د فعال شیټ یوه کاپي جوړوي او د ټاکل شوي سیل ارزښت پراساس یې نوم بدلوي.

    CopySheetAndRenameByCell2 - فعاله پاڼه کاپي کوي او د هارډ کوډ شوي حجرې پتې پراساس یې نوم بدلوي.

    کاپي شیټ ټو کلوزډ ورک بک - تاسو ته اجازه درکوي چې شیټ تړل شوي کاري کتاب ته کاپي کړئ.

    CopySheetFromClosedWorkbook - تاسو ته وړتیا درکوي پرته له خلاصیدو څخه د بل Excel فایل څخه یوه پاڼه کاپي کړئ.

    DuplicateSheetMultipleTimes - تاسو ته اجازه درکوي څو څو ځله په Excel کې یوه پاڼه نقل کړئ.

    ته په خپل اکسل کې میکرو چلوئ، یوازې لاندې کار وکړئ:

    1. ډانلوډ شوی کاري کتاب خلاص کړئ او د محتوا فعال کړئ که چیرې غوښتنه وشي. کاپي.
    2. <1 7>په خپل کاري پاڼه کې، Alt + F8 فشار ورکړئ، د ګټو میکرو غوره کړئ، او چل کړئ کلیک وکړئ.

    په دې ډول تاسو کولی شئ نقل کړئ په Excel کې د VBA سره یوه پاڼه. زه د لوستلو لپاره مننه کوم او هیله لرم چې راتلونکې اونۍ زموږ په بلاګ کې وګورم!

    مایکل براون د ټیکنالوژۍ وقف شوی لیوال دی چې د سافټویر وسیلو په کارولو سره د پیچلو پروسو ساده کولو لپاره لیوالتیا لري. د ټیک صنعت کې د یوې لسیزې څخه ډیرې تجربې سره، هغه خپل مهارتونه په مایکروسافټ ایکسل او آؤټ لک کې، او همدارنګه د ګوګل شیټس او اسنادو کې لوړ کړي دي. د مایکل بلاګ د نورو سره د هغه پوهه او تخصص شریکولو ته وقف شوی دی، د تولید او موثریت د ښه کولو لپاره د تعقیب لپاره اسانه لارښوونې او لارښوونې چمتو کوي. که تاسو تجربه لرونکی مسلکي یاست یا پیل کونکی یاست ، د مایکل بلاګ د دې اړین سافټویر وسیلو څخه خورا ډیر ترلاسه کولو لپاره ارزښتناک لیدونه او عملي مشورې وړاندې کوي.