VBA සමඟ Excel හි පත්රයක් අනුපිටපත් කරන්නේ කෙසේද

  • මේක Share කරන්න
Michael Brown

අන්තර්ගත වගුව

නිබන්ධනය මඟින් Excel හි පත්‍ර අනුපිටපත් කිරීම සඳහා මැක්‍රෝ එකතුවක් සපයයි: සෛල අගය මත පදනම්ව පිටපත් කර නැවත නම් කරන්න, බහු පත්‍ර පිටපත් කරන්න, සක්‍රිය වැඩ පත්‍රිකාවක් විවෘත නොකර වෙනත් ගොනුවකට පිටපත් කරන්න, සහ තවත් දේ.

Excel හි පත්‍ර අතින් පිටපත් කිරීම ඉතා ඉක්මන් සහ සරලයි... වරක් හෝ දෙවරක් සිදු කරන්නේ නම්. බහුවිධ පත්‍ර කිහිප වතාවක් අනුපිටපත් කිරීම නීරස හා කාලය ගත වේ. මෙම පිටුවෙහි, ඔබට මෙම කාර්යය ස්වයංක්‍රීය කිරීමට ප්‍රයෝජනවත් මැක්‍රෝ අතලොස්සක් සොයාගත හැකිය.

    නව වැඩපොතට පත්‍රය පිටපත් කිරීමට Excel VBA

    මෙම සරලම එක් පේළි මැක්‍රෝ කරයි එහි නම යෝජනා කරන දේ හරියටම - සක්‍රිය පත්‍රය නව වැඩපොතකට පිටපත් කරයි.

    Public Sub CopySheetToNewWorkbook() activeSheet. Copy End Sub

    VBA සමඟ Excel හි බහු පත්‍ර පිටපත් කරන්න

    ඔබට අවශ්‍ය නම් සක්‍රිය වැඩපොතෙන් පත්‍ර කිහිපයක් අලුත් එකකට පිටපත් කර, උනන්දුවක් දක්වන සියලුම වැඩ පත්‍රිකා තෝරා මෙම මැක්‍රෝව ක්‍රියාත්මක කරන්න:

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

    Excel VBA පත්‍රය වෙනත් වැඩපොතකට පිටපත් කිරීමට

    ඔබට පිටපත් කළ පත්‍රය ඇතුළු කිරීමට අවශ්‍ය ස්ථානය මත පදනම්ව, පහත මැක්‍රෝවලින් එකක් භාවිතා කරන්න.

    වෙනත් වැඩපොතක ආරම්භයට පිටපත් කරන්න

    මෙම මැක්‍රෝව සක්‍රිය පත්‍රය පෙර පිටපත් කරයි. ගමනාන්ත ගොනුවේ ඇති අනෙකුත් සියලුම වැඩ පත්‍රිකා, මෙම උදාහරණයේ Book1 . වෙනත් ගොනුවකට පිටපත් කිරීමට, "Book1.xlsx" වෙනුවට ඔබේ ඉලක්ක වැඩපොතේ සම්පූර්ණ නම.

    Public SubCopySheetToBeginningAnotherWorkbook() 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.xls" " ).වැඩපත්‍ර.ගණනය) උප

    සටහන. මැක්‍රෝස් ක්‍රියා කිරීමට නම්, ඉලක්ක වැඩපොත ඔබේ දෘඪ තැටියේ හෝ ජාලයේ සුරැකිය යුතුය.

    තෝරාගත් වැඩපොතකට පත්‍රය පිටපත් කරන්න

    ඕනෑම විවෘත වැඩපොතකට වත්මන් පත්‍රය පිටපත් කිරීමට හැකි වීමට, ඔබට ListBox පාලනයක් ( නම් ListBox1 ) සහ බොත්තම් දෙකක් සමඟින් ( UserForm1 නම්) පරිශීලක පෝරමයක් සෑදිය හැක:

    ඊළඟට, පෝරමය මත දෙවරක් ක්ලික් කර පහත කේතය කේත කවුළුවෙහි අලවන්න:

    Public SelectedWorkbook As String Private Sub UserForm_Initialize() SelectedWorkbook = "" ListBox1. Application.Workbooks ListBox1.Adddddddd (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

    පරිශීලක පෝරමය සමඟින්, ඔබට පහත එකක් භාවිතා කළ හැක. පිටපත් කිරීමට macrosඔබ තෝරන වැඩපොතට සක්‍රිය පත්‍රය.

    පිටපත් පත්‍රය තෝරාගත් වැඩපොතේ ආරම්භයට :

    Public Sub CopySheetToBeginningAnotherWorkbook() Load UserForm1 UserForm1.Show if (UserForm1.SelectedWork " " ) ඉන්පසු activeSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook).Sheets(1) End Unload UserForm1 End Sub

    තෝරාගත් වැඩපොතේ අවසානයට :

    පත්‍රය පිටපත් කරන්න. CopySheetToEndAnotherWorkbook() Load UserForm1 UserForm1.Show if (UserForm1.SelectedWorkbook "" ) ඉන්පසු activeSheet.Copy After:=Workbooks( _ UserForm1.SelectedWorkbook( _ UserForm1.SelectedWorkbook) End Sub

    Excel හි ධාවනය කරන විට, macro මඟින් ඔබට දැනට විවෘත කර ඇති සියලුම වැඩපොත් ලැයිස්තුවක් පෙන්වයි. ඔබ අවශ්‍ය එක තෝරා OK ක්ලික් කරන්න:

    පත්‍රය පිටපත් කිරීමට සහ නැවත නම් කිරීමට Excel macro

    ඔබ Excel හි පත්‍රයක් පිටපත් කරන විට, අනුරුවක් ලබාදේ Sheet1 (2) වැනි පෙරනිමි ආකෘතියෙන් නම් කරන්න. පහත මැක්‍රෝස් මඟින් පෙරනිමි නාමය අතින් වෙනස් කිරීමේ ගැටලුවෙන් ඔබට ගැලවිය හැක.

    මෙම කේතය සක්‍රිය වැඩ පත්‍රිකාව අනුපිටපත් කරයි, පිටපත "පරීක්ෂණ පත්‍රිකාව" ලෙස නම් කරයි (ඔබ කැමති වෙනත් නමකින් එය ප්‍රතිස්ථාපනය කිරීමට ඔබට නිදහස ඇත) , සහ පිටපත් කළ පත්‍රය වත්මන් වැඩපොතේ අවසානයේ තබයි.

    Public Sub CopySheetAndRenamePredefined() activeSheet.Copy After:=Worksheets(Sheets.Count) දෝෂය මත Next activeSheet.Name ="පරීක්‍ෂණ පත්‍රය" අවසන් උප

    පරිශීලකයාට පිටපත් කළ පත්‍රය සඳහා නම සඳහන් කිරීමට ඉඩ දීමට, මෙම කේතය භාවිත කරන්න:

    Public Sub CopySheetAndRename() NewName Dim as String On Error Resume Next newName = InputBox( "පිටපත් කරන ලද වැඩ පත්‍රිකාව සඳහා නම ඇතුලත් කරන්න" ) නව නම "" නම් ක්‍රියාකාරී පත්‍රිකාව පිටපත් කරන්න පහත සඳහන් ආදාන කොටුව පෙන්වයි, එහි ඔබ කැමති නම ටයිප් කර OK ඔබන්න:

    Excel macro පත්‍රය පිටපත් කිරීමට සහ සෛල අගය අනුව නැවත නම් කරන්න

    in සමහර අවස්ථාවන්හිදී, නිශ්චිත සෛල අගයක් සහිත පිටපතක් නම් කිරීම වඩාත් පහසු විය හැකිය, උදාහරණයක් ලෙස, තීරු ශීර්ෂයක්. මෙය සිදු කිරීම සඳහා, ඔබ ඉහත කේතය ගෙන දැනට තෝරාගෙන ඇති කොටුවේ අගය ස්වයංක්‍රීයව ආදාන කොටුවට සපයන්න. පෙර උදාහරණයේදී මෙන්, පිටපත සක්‍රිය වැඩපොතේ අවසානයේ තබනු ඇත.

    උපක්‍රමශීලීම කොටස වනුයේ ඔබේ පරිශීලකයන් සැමවිටම ධාවනය කිරීමට පෙර නිවැරදි කොටුව තෝරා ගැනීමයි. macro :)

    Public Sub CopySheetAndRenameByCell() නවනම තන්තුවක් ලෙස අඳුරු කරන්න. පසු පිටපත් කරන්න:=Worksheets(Sheets.Count) දෝෂය මත නැවත ආරම්භ කරන්න Next activeSheet.Name = newName End End Sub

    විකල්පයක් ලෙස, ඔබට hardcode යන ලිපිනයට හැකියපිටපත නම් කළ යුතු කොටුව , පහත කේතයේ A1 කොටුව. වෙනත් කොටුවක් මත පදනම්ව පිටපත් කරන ලද වැඩ පත්‍රිකාව නම් කිරීමට, A1 වෙනුවට සුදුසු සෛල යොමුවකින් ප්‍රතිස්ථාපනය කරන්න.

    Public Sub CopySheetAndRenameByCell2() Wks Dim wks Worksheet ලෙස Set wks = activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) Wks.Range නම්. ( "A1" ).අගය "" පසුව දෝෂය නැවත ආරම්භ කරන්න Next activeSheet.Name = wks.Range( "A1" ).අගය අවසානය wks නම්. End Sub

    වැඩපත්‍රය සංවෘත වැඩපොතකට පිටපත් කිරීමට මැක්‍රෝව

    මෙම මැක්‍රෝව සක්‍රිය පත්‍රය සංවෘත වැඩපොතක අවසානයට පිටපත් කරයි. වෙනත් වැඩපොතක නම කේතයෙහි සඳහන් කර නොමැත - මැක්රෝ සම්මත Windows Explorer කවුළුව විවෘත කර ඔබට ඕනෑම ගමනාන්ත ගොනුවක් තෝරා ගැනීමට ඉඩ සලසයි:

    ඔබ ගොනුව තේරීමෙන් පසු සහ විවෘත ක්ලික් කරන්න, මැක්‍රෝව සක්‍රිය පත්‍රය පිටපත් කර ඉලක්ක වැඩපොත ස්වයංක්‍රීයව වසා දමයි.

    පොදු උප පිටපත්පත්‍රToClosedWorkbook() අඳුරු ගොනු නාමය අඳුරු වසා දැමූ පොත වැඩපොත ලෙස අඳුරු වත්මන් පත්‍රිකාව වැඩ පත්‍රිකාව ලෙස අඳුරු කරන්න ගොනු නාමය = යෙදුම.GetOpenFilename( "Excel ගොනු (*.xlsx), *.xlsx" ) ගොනු නාමය වැරදි නම් Application.ScreenUpdating = False Set currentSheet = Application.activeSheet Set closeBook = Workbooks. (fileName) currentSheet විවෘත කරන්න. පසුව පිටපත් කරන්න:=closedBook.Sheets(closedBook.Worksheets.Count) closeBook. Close ( True ) Application.ScreenUpdating = True End If End Sub

    Excel VBA නොමැතිව වෙනත් වැඩපොතකින් පත්‍රය පිටපත් කිරීමටopening

    මෙම macro මඟින් ඔබට වැඩ පත්‍රිකාවක් විවෘත නොකර වෙනත් Excel ගොනුවකින් පිටපත් කිරීමට හැකියාව ලැබේ. පිටපත් කරන ලද පත්‍රය වත්මන් වැඩපොත අවසානයේ ඇතුල් කරනු ඇත.

    කේතයේ ප්‍රතිස්ථාපන කිහිපයක් කිරීමට මතක තබා ගන්න:

    • C:\Users\XXX\Documents\ Target_Book.xlsx ඔබට පත්‍රයක් පිටපත් කිරීමට අවශ්‍ය වැඩපොතේ නියම මාර්ගයට සහ නමට වෙනස් කළ යුතුය.
    • Sheet1 ඔබට පිටපත් කිරීමට අවශ්‍ය පත්‍රයේ නම සමඟ ප්‍රතිස්ථාපනය කළ යුතුය.
    Public Sub CopySheetFromClosedWorkbook()Dim sourceBook ලෙස Workbook Application.ScreenUpdating = False Set 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 ඉන්පසු සංඛ්‍යා කාල සඳහා = 1 සිට n සක්‍රීය පත්‍රිකාව දක්වා. පිටපත් කරන්න:=ActiveWorkbook.Sheets(Worksheets.Count) ඊලඟ අවසානය නම් End Sub

    මුල් පත්‍රය විවෘත කරන්න, macro ධාවනය කරන්න, සක්‍රිය පත්‍රයේ පිටපත් කීයක් සඳහන් කරන්න.ඔබට සෑදීමට අවශ්‍ය, සහ ක්ලික් කරන්න OK :

    VBA සමඟ Excel හි පත්‍ර අනුපිටපත් කරන්නේ කෙසේද

    Excel හි පත්‍රයක් පිටපත් කිරීමට ඉහත මැක්‍රෝවලින් එකක් සමඟින්, ඔබට VBA කේතය ඔබේම පොතට ඇතුළු කළ හැකිය, නැතහොත් අපගේ නියැදි වැඩපොතෙන් මැක්‍රෝ එකක් ධාවනය කළ හැකිය.

    ඔබේ වැඩපොතට මැක්‍රෝ එකක් එකතු කරන්නේ කෙසේද

    ඇතුළත් කිරීමට ඔබගේ වැඩපොතෙහි කේතය, මෙම පියවරයන් සිදු කරන්න:

    1. ඔබට පිටපත් කිරීමට අවශ්‍ය වැඩ පත්‍රිකාව විවෘත කරන්න.
    2. Visual Basic Editor විවෘත කිරීමට Alt + F11 ඔබන්න.
    3. ක්‍රියාත්මකයි. වම් කවුළුව, මෙම වැඩපොත දකුණු-ක්ලික් කරන්න, ඉන්පසු ඇතුළු කරන්න > මොඩියුලය ක්ලික් කරන්න.
    4. කේත කවුළුවෙහි කේතය අලවන්න.
    5. මැක්‍රෝ ධාවනය කිරීමට F5 ඔබන්න.

    සවිස්තරාත්මක පියවරෙන් පියවර උපදෙස් සඳහා, කරුණාකර Excel හි VBA කේතය ඇතුළත් කරන්නේ කෙසේදැයි බලන්න.

    ධාවනය කරන්නේ කෙසේද? අපගේ නියැදි වැඩපොතෙන් මැක්‍රෝ එකක්

    විකල්පයක් ලෙස, ඔබට අපගේ නියැදි වැඩපොත ඩුප්ලිකේට් Excel Sheets වෙත බාගත කර එතැන් සිට කේතය ක්‍රියාත්මක කළ හැක.

    නියැදි වැඩපොතෙහි පහත මැක්‍රෝ අඩංගු වේ:

    CopySheetToNewWorkbook - cu පිටපත් කරයි වැඩ පත්‍රිකාව නව වැඩපොතකට rrent කරන්න.

    CopySelectedSheets - ඔබ නව වැඩපොතකට තෝරන බහු පත්‍ර පිටපත් කරයි.

    CopySheetToBeginningAnotherWorkbook - සක්‍රිය පත්‍රය පිටපත් කරයි. වෙනත් වැඩපොතක ආරම්භයට.

    CopySheetToEndAnotherWorkbook - ක්‍රියාකාරී පත්‍රය වෙනත් Excel ගොනුවක අවසානයට පිටපත් කරයි.

    CopySheetAndRename - ධාරාව අනුපිටපත් කරයි. පත්රය,පරිශීලකයා විසින් නිශ්චිතව දක්වා ඇති පරිදි එය නැවත නම් කරයි, සහ වත්මන් වැඩපොතෙහි අනෙකුත් සියලුම පත්‍රවලට පසුව පිටපත තබයි.

    CopySheetAndRenamePredefined - සක්‍රිය පත්‍රය අනුපිටපත් කරයි, පිටපතට දෘඪ සංකේත සහිත නමක් ලබා දී එය ස්ථානගත කරයි. වත්මන් වැඩපොත අවසානයේ.

    CopySheetAndRenameByCell - සක්‍රිය පත්‍රයේ පිටපතක් සාදා එය තෝරාගත් සෛල අගය මත පදනම්ව එය නැවත නම් කරයි.

    CopySheetAndRenameByCell2 - සක්‍රිය පත්‍රය පිටපත් කර දෘඪ කේත සහිත සෛල ලිපිනය මත පදනම්ව එය නැවත නම් කරයි.

    CopySheetToClosedWorkbook - ඔබට පත්‍රය සංවෘත වැඩපොතකට පිටපත් කිරීමට ඉඩ දෙයි.

    CopySheetFromClosedWorkbook - ඔබට එය විවෘත නොකර වෙනත් Excel ගොනුවකින් පත්‍රයක් පිටපත් කිරීමට හැකියාව ලබා දෙයි.

    DuplicateSheetMultipleTimes - ඔබට Excel හි පත්‍රයක් කිහිප වතාවක් අනුපිටපත් කිරීමට ඉඩ දෙයි.

    වෙත ඔබගේ Excel තුළ මැක්‍රෝ ධාවනය කරන්න, පහත සඳහන් දේ කරන්න:

    1. බාගත් වැඩපොත විවෘත කර විමසන්නේ නම් අන්තර්ගතය සක්‍රීය කරන්න.
    2. ඔබගේම වැඩපොත විවෘත කර ඔබට අවශ්‍ය පත්‍රය වෙත සංචාලනය කරන්න. පිටපත.
    3. <1 7>ඔබේ වැඩ පත්‍රිකාවේ, Alt + F8 ඔබා, උනන්දුවක් දක්වන මැක්‍රෝ එක තෝරා, ධාවනය ක්ලික් කරන්න.

    ඔබට අනුපිටපත් කළ හැක්කේ එලෙසයි. VBA සමඟ Excel හි පත්රයක්. කියවීම ගැන මම ඔබට ස්තූතිවන්ත වන අතර ලබන සතියේ අපගේ බ්ලොග් අඩවියෙන් ඔබව දැකීමට බලාපොරොත්තු වෙමි!

    මයිකල් බ්‍රවුන් යනු මෘදුකාංග මෙවලම් භාවිතයෙන් සංකීර්ණ ක්‍රියාවලීන් සරල කිරීමට දැඩි ආශාවක් ඇති කැපවූ තාක්‍ෂණ ලෝලියෙකි. තාක්‍ෂණ ක්‍ෂේත්‍රයේ දශකයකට වැඩි පළපුරුද්දක් ඇති ඔහු Microsoft Excel සහ Outlook මෙන්ම Google Sheets සහ Docs හි ඔහුගේ කුසලතා ඔප් නංවා ඇත. මයිකල්ගේ බ්ලොගය ඔහුගේ දැනුම සහ ප්‍රවීණත්වය අන් අය සමඟ බෙදා ගැනීමට කැපවී ඇත, ඵලදායිතාව සහ කාර්යක්ෂමතාව වැඩි දියුණු කිරීම සඳහා පහසුවෙන් අනුගමනය කළ හැකි ඉඟි සහ නිබන්ධන සපයයි. ඔබ පළපුරුදු වෘත්තිකයෙකු හෝ ආධුනිකයෙකු වුවද, මයිකල්ගේ බ්ලොගය මෙම අත්‍යවශ්‍ය මෘදුකාංග මෙවලම්වලින් උපරිම ප්‍රයෝජන ලබා ගැනීම සඳහා වටිනා අවබෝධයක් සහ ප්‍රායෝගික උපදෙස් ලබා දෙයි.