Excel دا بىر ۋاراقنى VBA بىلەن قانداق كۆپەيتىش كېرەك

  • ھەمبەھىرلەڭ
Michael Brown

مەزمۇن جەدۋىلى

دەرسلىك Excel دىكى جەدۋەللەرنى كۆپەيتىش ئۈچۈن ماكرو توپلىمى بىلەن تەمىنلەيدۇ: كاتەكچىنىڭ قىممىتىگە ئاساسەن كۆچۈرۈپ ئۆزگەرتىش ، كۆپ ۋاراقنى كۆپەيتىش ، ئاكتىپ جەدۋەلنى ئاچماي باشقا ھۆججەتكە كۆچۈرۈش ۋە باشقىلار.

Excel دىكى قولدا كۆچۈرۈش جەدۋىلى ناھايىتى تېز ۋە بىۋاسىتە ... ئەگەر بىر ياكى ئىككى قېتىم ئىجرا قىلىنسا. كۆپ ۋاراقنى كۆپ قېتىم كۆپەيتىش زېرىكىشلىك ۋە ۋاقىت ئىسراپ قىلىدۇ. بۇ بەتتە سىز بۇ ۋەزىپىنى ئاپتوماتلاشتۇرۇش ئۈچۈن ئاز بىر قىسىم پايدىلىق ماكرولارنى تاپالايسىز. ئۇنىڭ ئىسمى ئېنىقلا - ئاكتىپ جەدۋەلنى يېڭى خىزمەت دەپتىرىگە كۆچۈرۈڭ.

ئاممىۋى تارماق نۇسخا كۆچۈرۈش جەدۋىلى ئاكتىپ خىزمەت دەپتىرىدىن بىر قانچە ۋاراقنى يېڭىسىغا كۆچۈرۈڭ ، قىزىقىدىغان بارلىق خىزمەت جەدۋىلىنى تاللاڭ ۋە بۇ ماكرونى ئىجرا قىلىڭ: 7>

كۆچۈرۈلگەن جەدۋەلنى قەيەرگە قىستۇرماقچى بولغانلىقىڭىزغا ئاساسەن ، تۆۋەندىكى ماكرودىن بىرنى ئىشلىتىڭ.

جەدۋەلنى باشقا خىزمەت دەپتىرىنىڭ بېشىغا كۆچۈرۈڭ نىشان ھۆججەتتىكى باشقا بارلىق خىزمەت جەدۋىلى ، بۇ مىسالدا Book1 . باشقا ھۆججەتكە كۆچۈرۈش ئۈچۈن ، «Book1.xlsx» نى نىشانلىق خىزمەت دەپتىرىڭىزنىڭ تولۇق ئىسمى بىلەن ئالماشتۇرۇڭ. ئاممىۋى تارماقCopySheetToBeginningAnotherWorkbook () activeSheet.Copy: كۆپەيتىلگەن نۇسخىسىنى كىتاب 1 نىڭ ئاخىرىغا قويىدۇ. يەنە كېلىپ ، «Book1.xlsx» نى مەنزىل خىزمەت دەپتىرىڭىزنىڭ نامىغا ئالماشتۇرۇشنى ئۇنتۇپ قالماڭ. ئاممىۋى Sub CopySheetToEndAnotherWorkbook. "). خىزمەت جەدۋىلى. ھېسابلاش) ئاخىرقى تارماق

ئەسكەرتىش. ماكرولارنىڭ ئىشلىشى ئۈچۈن نىشان خىزمەت دەپتىرى چوقۇم قاتتىق دېسكىڭىز ياكى تورىڭىزدا ساقلىنىشى كېرەك.

جەدۋەلنى تاللانغان خىزمەت دەپتىرىگە كۆچۈرۈڭ

نۆۋەتتىكى جەدۋەلنى ھەر قانداق ئوچۇق خىزمەت دەپتىرىگە كۆچۈرەلەيسىز سىز ListBox كونترول ( ئىسمى ListBox1 ) ۋە ئىككى كۇنۇپكا:

<3 ئارقىلىق UserForm ( UserForm1 دەپ ئاتىلىدۇ) قۇرالايسىز>

كېيىنكى قەدەمدە ، جەدۋەلنى قوش چېكىپ ، تۆۋەندىكى كۆزنەكنى كود كۆزنىكىگە چاپلاڭ: (wbk.Name) كېيىنكى ئاخىرقى تارماق شەخسىي تارماق بۇيرۇق Button1_Click () ئەگەر ListBox1. -1 ئاندىن SelectWorkbook = ListBox1.List (ListBox1.ListIndex) ئاخىرلاشسا مەن ئاخىرلاشتۇرۇڭ. End Sub Sub Private Sub CommandButton2_Click () SelectedWorkbook = "" Me.Hide End Sub

UserForm نى ئىشلەتسىڭىز بولىدۇ. كۆچۈرمەكچى بولغان ماكروسىز تاللىغان خىزمەت دەپتىرىگە ئاكتىپ جەدۋەلنى تاللاڭ. ") ئاندىن activeSheet.Copy: CopySheetToEndAnotherWorkbook () Load UserForm1 UserForm1 نى كۆرسىتىڭ. End Sub

Excel دا ئىجرا بولغاندا ، ماكرو سىزگە ھازىر ئېچىلغان بارلىق خىزمەت دەپتىرىنىڭ تىزىملىكىنى كۆرسىتىپ بېرىدۇ. لازىملىق بىرىنى تاللاڭ ۋە «جەزملە» نى چېكىڭ:

Excel ماكرو جەدۋىلىنى كۆچۈرۈپ ،

Excel دا بىر ۋاراقنى كۆچۈرگەندە ، كۆپەيتىلگەن نۇسخىسى بېرىلىدۇ. Sheet1 (2) غا ئوخشاش كۆڭۈلدىكى فورماتتىكى ئىسىم. تۆۋەندىكى ماكرولار سۈكۈتتىكى ئىسىمنى قولدا ئۆزگەرتىش ئاۋارىچىلىكىدىن قۇتۇلالايدۇ. كۆچۈرۈلگەن جەدۋەلنى نۆۋەتتىكى خىزمەت دەپتىرىنىڭ ئاخىرىغا قويىدۇ."سىناق جەدۋىلى" ئاخىرقى تارماق

ئىشلەتكۈچىنىڭ كۆچۈرۈلگەن جەدۋەلنىڭ ئىسمىنى بەلگىلىشىگە يول قويۇش ئۈچۈن ، بۇ كودنى ئىشلىتىڭ: InputBox ("كۆچۈرۈلگەن خىزمەت جەدۋىلىنىڭ نامىنى كىرگۈزۈڭ") ئەگەر يېڭى ئىسىم "" ئۇنداقتا ئاكتىپ جەدۋەل. كۆچۈرۈلگەندىن كېيىن: = خىزمەت جەدۋىلى (جەدۋەل. ھېسابلاش) خاتالىق ئۈستىدە قايتا قوزغىتىش كېيىنكى ئاكتىپ جەدۋەل. Name = newName End ئەگەر Sub Sub

ئىجرا بولغاندا ، ماكرو تۆۋەندىكى كىرگۈزۈش رامكىسىنى كۆرسىتىدۇ ، بۇنىڭدا سىز لازىملىق ئىسىمنى يېزىپ OK نى بېسىڭ:

Excel ماكرو جەدۋەلنى كۆچۈرۈپ ، كاتەكچىنىڭ قىممىتىگە ئاساسەن ئۆزگەرتىدۇ

In بەزى ئەھۋاللاردا ، مەلۇم بىر كاتەكچە قىممىتى بار كۆپەيتىلگەن ئىسىمغا ئىسىم قويۇش تېخىمۇ قۇلايلىق بولۇشى مۇمكىن. بۇنىڭ ئۈچۈن سىز پەقەت يۇقارقى كودنى ئېلىپ ، ھازىر كىرگۈزۈلگەن كاتەكچىنىڭ قىممىتىنى ئاپتوماتىك ھالدا كىرگۈزۈش رامكىسىغا تەمىنلەيسىز. ئالدىنقى مىسالغا ئوخشاش ، كۆپەيتىلگەن نۇسخىسى ئاكتىپ خىزمەت دەپتىرىنىڭ ئاخىرىغا ئورۇنلاشتۇرۇلىدۇ. بۇ ماكرو :) كۆچۈرۈلگەندىن كېيىن: = خىزمەت جەدۋىلى (Sheets.Count) خاتالىق ئۈستىدە قايتا قوزغىتىش Next activeSheet.Name = newName End ئەگەر Sub Sub

ئۇنىڭدىن باشقا ، سىز ئادرېسنى قاتتىق كود قىلالايسىز.كۆپەيتىلگەن ئىسىمنىڭ ئىسمى ، تۆۋەندىكى كودتىكى A1 كاتەكچىسى. كۆچۈرۈلگەن خىزمەت جەدۋىلىگە باشقا كاتەكچىگە ئاساسەن ئىسىم قويۇش ئۈچۈن ، A1 نى مۇناسىپ كاتەكچە پايدىلىنىش ئورنىغا ئالماشتۇرۇڭ. . "" A1 " 0> بۇ ماكرو ئاكتىپ جەدۋەلنى يېپىق خىزمەت دەپتىرىنىڭ ئاخىرىغا كۆچۈردى. كودتا باشقا خىزمەت دەپتىرىنىڭ ئىسمى ئېنىق يېزىلمىدى - ماكرو ئۆلچەملىك Windows Explorer كۆزنىكىنى ئاچىدۇ ۋە ھەر قانداق مەنزىل ھۆججىتىنى تاللىشىڭىزغا يول قويىدۇ:

ھۆججەتنى تاللىغاندىن كېيىن ھەمدە نى ئېچىڭ نى بېسىڭ ، ماكرو ئاكتىپ جەدۋەلنى كۆچۈرۈپ ، نىشان خىزمەت دەپتىرىنى ئاپتوماتىك تاقايدۇ. ھۆججەتلەر (* .xlsx), * .xlsx ") ئەگەر ھۆججەت ئىسمى خاتا بولسا ئۇنداقتا قوللىنىشچان پروگرامما. ئېچىش (fileName) currentSheet.Copy After: = closedBook.Sheets (closedBook.Worksheets.Count) closedBook. تاقاش (True) قوللىنىشچان پروگرامما.ئېچىش

بۇ ماكرو خىزمەت جەدۋىلىنى باشقا Excel ھۆججىتىدىن ئاچمايلا كۆچۈرەلەيسىز. كۆچۈرۈلگەن جەدۋەل نۆۋەتتىكى خىزمەت دەپتىرىنىڭ ئاخىرىغا قىستۇرۇلىدۇ.

پەقەت كودتا بىر قانچە قېتىم ئالماشتۇرۇشنى ئۇنتۇپ قالماڭ: Target_Book.xlsx جەدۋەلنى كۆچۈرمەكچى بولغان خىزمەت دەپتىرىنىڭ ئەمەلىي يولى ۋە نامىغا ئۆزگەرتىش كېرەك.

  • جەدۋەل 1 نى سىز كۆچۈرمەكچى بولغان جەدۋەلنىڭ ئىسمى بىلەن ئالماشتۇرۇش كېرەك.
  • <5 . ئېچىڭ ("C: \ ئىشلەتكۈچى \ XXX \ ھۆججەتلەر \ Target_Book.xlsx") sourceBook.Sheets ("Sheet1"). كۆچۈرۈلگەندىن كېيىن: قوللىنىشچان پروگراممىنى تاقاڭ. تۆۋەندىكى ماكرو ئارقىلىق بۇنى ئاسانلا قىلغىلى بولىدۇ. .قىلماقچى بولسىڭىز ، ھەمدە بولىدۇ نى چېكىڭ:

    Excel دا ۋاراقنى قانداق قىلىپ VBA

    Excel دا جەدۋەلنى كۆپەيتىش كېرەك؟ يۇقارقى ماكرولارنىڭ بىرى بىلەن سىز VBA كودىنى ئۆزىڭىزنىڭ كىتابىغا قىستۇرالايسىز ياكى ئۈلگە خىزمەت دەپتىرىمىزدىن ماكرو ئىجرا قىلالايسىز.

    خىزمەت دەپتىرىڭىزگە قانداق قىلىپ ماكرو قوشۇش

    قىستۇر خىزمەت دەپتىرىڭىزدىكى كود ، بۇ باسقۇچلارنى ئىجرا قىلىڭ:

    1. كۆچۈرمەكچى بولغان خىزمەت جەدۋىلىنى ئېچىڭ.
    2. Alt + F11 نى بېسىپ Visual Basic تەھرىرلىگۈچنى ئېچىڭ.
    3. On سول تەرەپتە ، بۇ خىزمەت دەپتىرى نى ئوڭ چېكىپ ، ئاندىن قىستۇر & gt; بۆلەك نى بېسىڭ.
    4. كودنى كۆزنەككە چاپلاڭ.
    5. ماكرونى ئىجرا قىلىش ئۈچۈن F5 نى بېسىڭ. بىزنىڭ ئۈلگە خىزمەت دەپتىرىمىزدىن ماكرو

    ئۇنىڭدىن باشقا ، سىز ئۈلگە خىزمەت دەپتىرىمىزنى كۆپەيتىلگەن Excel جەدۋىلىگە چۈشۈرۈپ ، كودنى شۇ يەردىن ئىجرا قىلالايسىز.

    ئەۋرىشكە خىزمەت دەپتىرىدە تۆۋەندىكى ماكرو بار:

    CopySheetToNewWorkbook - cu نى كۆپەيتىدۇ rrent خىزمەت جەدۋىلىنى يېڭى خىزمەت دەپتىرىگە يۆتكەڭ.

    CopySheetToEndAnotherWorkbook - ئاكتىپ جەدۋەلنى باشقا Excel ھۆججىتىنىڭ ئاخىرىغا كۆچۈرۈپ بېرىدۇ.

    ۋاراق ،ئىشلەتكۈچى تەرىپىدىن بېكىتىلگەن ئىسىمنىڭ ئىسمىنى ئۆزگەرتىدۇ ۋە كۆپەيتىلگەن نۇسخىسىنى نۆۋەتتىكى خىزمەت دەپتىرىگە قويىدۇ. نۆۋەتتىكى خىزمەت دەپتىرىنىڭ ئاخىرىدا. 2> - ئاكتىپ جەدۋەلنى كۆچۈرۈپ ، ئۇنى قاتتىق كودلانغان كاتەكچە ئادرېسىغا ئاساسەن ئۆزگەرتىدۇ.

    CopySheetToClosedWorkbook - جەدۋەلنى يېپىق خىزمەت دەپتىرىگە كۆچۈرەلەيسىز. CopySheetFromClosedWorkbook - باشقا بىر Excel ھۆججىتىدىن بىر ۋاراقنى ئاچمايلا كۆچۈرەلەيسىز.

    Excel دا ماكرونى ئىجرا قىلىڭ ، تۆۋەندىكى ئىشلارنى قىلىڭ:

    1. چۈشۈرۈلگەن خىزمەت دەپتىرىنى ئېچىڭ ھەمدە تەلەپ قىلىنسا مەزمۇننى قوزغىتىڭ.
    2. ئۆزىڭىزنىڭ خىزمەت دەپتىرىنى ئېچىڭ ۋە لازىملىق جەدۋەلگە يۆتكىڭ. كۆپەيتىلگەن.
    3. <1 7> خىزمەت جەدۋىلىڭىزدە Alt + F8 نى بېسىڭ ، قىزىقىش ماكروسىنى تاللاڭ ۋە ئىجرا نى بېسىڭ.

    Excel دا VBA بىلەن بىر ۋاراق. ئوقۇغانلىقىڭىزغا رەھمەت ، كېلەر ھەپتە بىلوگىمىزدا كۆرۈشنى ئۈمىد قىلىمەن!

    مايكول بروۋن مەخسۇس تېخنىكا ھەۋەسكارى بولۇپ ، يۇمشاق دېتال قوراللىرى ئارقىلىق مۇرەككەپ جەريانلارنى ئاددىيلاشتۇرىدۇ. تېخنىكا ساھەسىدە ئون نەچچە يىللىق تەجرىبىسى بار ، ئۇ Microsoft Excel ۋە Outlook ، شۇنداقلا Google Sheets ۋە Docs قاتارلىق جەھەتلەردە ئۆزىنىڭ ماھارىتىنى ئۆستۈردى. مايكىلنىڭ بىلوگى ئۆزىنىڭ بىلىمى ۋە تەجرىبىسىنى باشقىلار بىلەن ئورتاقلىشىشقا بېغىشلانغان بولۇپ ، ئىشلەپچىقىرىش ۋە ئۈنۈمنى ئاشۇرۇش ئۈچۈن ئاسان ئەگىشىدىغان ئۇسۇل ۋە دەرسلىكلەر بىلەن تەمىنلەيدۇ. مەيلى تەجرىبىلىك كەسپىي خادىم ياكى يېڭى ئۆگەنگۈچى بولۇڭ ، مايكولنىڭ بىلوگى بۇ مۇھىم يۇمشاق دېتال قوراللىرىدىن ئۈنۈملۈك پايدىلىنىش ئۈچۈن قىممەتلىك چۈشەنچە ۋە ئەمەلىي مەسلىھەت بىلەن تەمىنلەيدۇ.