எக்செல் இல் VBA உடன் ஒரு தாளை நகலெடுப்பது எப்படி

  • இதை பகிர்
Michael Brown

உள்ளடக்க அட்டவணை

எக்செல் இல் உள்ள தாள்களை நகலெடுப்பதற்கான மேக்ரோக்களின் தொகுப்பை இந்தப் பயிற்சி வழங்குகிறது: செல் மதிப்பின் அடிப்படையில் நகலெடுத்து மறுபெயரிடவும், பல தாள்களை நகலெடுக்கவும், செயலில் உள்ள ஒர்க் ஷீட்டைத் திறக்காமல் மற்றொரு கோப்பிற்கு நகலெடுக்கவும், மேலும் பல.

எக்செல் இல் தாள்களை கைமுறையாக நகலெடுப்பது மிகவும் விரைவானது மற்றும் நேரடியானது... ஒருமுறை அல்லது இரண்டு முறை செய்தால். பல தாள்களை பல முறை நகலெடுப்பது சலிப்பை ஏற்படுத்துகிறது மற்றும் நேரத்தை எடுத்துக்கொள்ளும். இந்தப் பக்கத்தில், இந்தப் பணியைத் தானியக்கமாக்குவதற்குப் பயனுள்ள சில மேக்ரோக்களை நீங்கள் காணலாம்.

    புதிய பணிப்புத்தகத்திற்குத் தாளை நகலெடுக்க Excel VBA

    இந்த எளிய ஒரு-வரி மேக்ரோ செய்கிறது அதன் பெயர் என்ன சொல்கிறது - செயலில் உள்ள தாளை ஒரு புதிய பணிப்புத்தகத்திற்கு நகலெடுக்கிறது.

    பொது துணை நகல் தாள்ToNewWorkbook() ActiveSheet. End Sub

    VBA உடன் பல தாள்களை Excel இல் நகலெடுக்கவும்

    நீங்கள் விரும்பினால் செயலில் உள்ள பணிப்புத்தகத்திலிருந்து பல தாள்களை புதியதாக நகலெடுத்து, ஆர்வமுள்ள அனைத்து ஒர்க்ஷீட்களையும் தேர்ந்தெடுத்து, இந்த மேக்ரோவை இயக்கவும்:

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

    Excel VBA தாளை மற்றொரு பணிப்புத்தகத்திற்கு நகலெடுக்க

    நகலெடுக்கப்பட்ட தாளை நீங்கள் எங்கு செருக விரும்புகிறீர்கள் என்பதைப் பொறுத்து, பின்வரும் மேக்ரோக்களில் ஒன்றைப் பயன்படுத்தவும்.

    மற்றொரு பணிப்புத்தகத்தின் தொடக்கத்திற்கு தாளை நகலெடுக்கவும்

    இந்த மேக்ரோ செயலில் உள்ள தாளை இதற்கு முன் நகலெடுக்கிறது. இலக்கு கோப்பில் உள்ள மற்ற பணித்தாள்கள், இந்த எடுத்துக்காட்டில் புத்தகம்1 . மற்றொரு கோப்பிற்கு நகலெடுக்க, "Book1.xlsx" என்பதை உங்கள் இலக்கு பணிப்புத்தகத்தின் முழுப் பெயருடன் மாற்றவும்.

    பொது துணைCopySheetToBeginningAnotherWorkbook() activeSheet.முன் நகலெடு:=பணிப்புத்தகங்கள்( "Book1.xlsx" ).தாள்கள்(1) முடிவு துணை

    மற்றொரு பணிப்புத்தகத்தின் முடிவில் தாளை நகலெடு

    இந்த குறியீடு செயலில் உள்ள ஒர்க்ஷீட்டை நகலெடுக்கிறது மற்றும் நகலை புத்தகம்1 இன் இறுதியில் வைக்கிறது. மீண்டும், "Book1.xlsx" ஐ உங்கள் இலக்கு பணிப்புத்தகத்தின் பெயருடன் மாற்ற நினைவில் கொள்ளவும்.

    பொது துணை நகல்தாள்ToEndAnotherWorkbook() activeSheet.Copy After:=Workbooks( "Book1.xlsx" ).Sheets(Workbooks( "Book1.xlsxlsxlsxlsxlsx) " ).பணித்தாள்கள். எண்ணிக்கை) துணை

    குறிப்பு. மேக்ரோக்கள் வேலை செய்ய, இலக்கு பணிப்புத்தகம் உங்கள் ஹார்டு டிரைவ் அல்லது நெட்வொர்க்கில் சேமிக்கப்பட வேண்டும்.

    தேர்ந்தெடுக்கப்பட்ட பணிப்புத்தகத்திற்கு தாளை நகலெடுக்க

    தற்போதைய தாளை எந்த திறந்த பணிப்புத்தகத்திற்கும் நகலெடுக்க, நீங்கள் ListBox கட்டுப்பாடு ( ListBox1 என பெயரிடப்பட்டது) மற்றும் இரண்டு பொத்தான்கள்:

    <3 உடன் பயனர் படிவத்தை ( UserForm1 என்று பெயரிடப்பட்டது) உருவாக்கலாம்:>

    அடுத்து, படிவத்தை இருமுறை கிளிக் செய்து, குறியீட்டு சாளரத்தில் கீழே உள்ள குறியீட்டை ஒட்டவும்:

    பொதுத் தேர்ந்தெடுக்கப்பட்ட பணிப்புத்தகம் சரம் தனியார் துணை பயனர்Form_Initialize() SelectedWorkbook = "" ListBox1. Application. பணிப்புத்தகங்கள் ListBox1.AddBox. (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

    உள்ள இடத்தில் உள்ள UserForm உடன், நீங்கள் பின்வருவனவற்றில் ஒன்றைப் பயன்படுத்தலாம் நகலெடுக்க மேக்ரோக்கள்நீங்கள் தேர்ந்தெடுக்கும் பணிப்புத்தகத்திற்குச் செயலில் உள்ள தாள்.

    தேர்ந்தெடுக்கப்பட்ட பணிப்புத்தகத்தின் தொடக்கத்திற்குத் தாளை நகலெடுக்கவும் :

    பொதுத் துணை நகல்தாள்ToBeginningAnotherWorkbook() UserForm1 UserForm1ஐ ஏற்றவும். இருந்தால் காட்டவும் (UserForm1.SelectedWork " " ) பிறகு ஆக்டிவ்ஷீட். முன் நகலெடுக்கவும்:=பணிப்புத்தகங்கள்(UserForm1.SelectedWorkbook).Sheets(1) End Unload UserForm1 End Sub

    தேர்ந்தெடுக்கப்பட்ட பணிப்புத்தகத்தின் இறுதியில் :

    தாளை நகலெடுக்கவும் CopySheetToEndAnotherWorkbook() UserForm1 UserForm1ஐ ஏற்றவும் End Sub

    Excel இல் இயங்கும் போது, ​​தற்போது திறக்கப்பட்டுள்ள அனைத்து பணிப்புத்தகங்களின் பட்டியலை மேக்ரோ உங்களுக்குக் காண்பிக்கும். நீங்கள் தேவையான ஒன்றைத் தேர்ந்தெடுத்து சரி என்பதைக் கிளிக் செய்க:

    எக்செல் மேக்ரோவை நகலெடுத்து மறுபெயரிடுங்கள்

    எக்செல் இல் ஒரு தாளை நகலெடுக்கும் போது, ​​பிரதி கொடுக்கப்படும் Sheet1 (2) போன்ற இயல்புநிலை வடிவத்தில் பெயர். பின்வரும் மேக்ரோக்கள், இயல்புநிலைப் பெயரை கைமுறையாக மாற்றுவதில் உள்ள சிக்கலைத் தவிர்க்கலாம்.

    இந்தக் குறியீடு செயலில் உள்ள ஒர்க்ஷீட்டை நகலெடுக்கிறது, நகலை "டெஸ்ட் ஷீட்" என்று பெயரிடுகிறது (நீங்கள் விரும்பும் வேறு எந்தப் பெயரையும் மாற்றிக்கொள்ளலாம்) , மற்றும் தற்போதைய பணிப்புத்தகத்தின் இறுதியில் நகலெடுக்கப்பட்ட தாளை வைக்கிறது.

    பொதுத் துணை நகல் தாள்ஆண்ட்RenamePredefined()activeSheet.Copy After:=Worksheets(Sheets.Count) இல் பிழை மறுதொடக்கம் அடுத்து activeSheet.Name ="டெஸ்ட் ஷீட்" எண்ட் சப்

    நகலெடுக்கப்பட்ட தாளின் பெயரைக் குறிப்பிட பயனர் அனுமதிக்க , இந்தக் குறியீட்டைப் பயன்படுத்தவும்:

    பொதுத் துணை நகல் மற்றும் மறுபெயர் InputBox( "நகலெடுக்கப்பட்ட பணித்தாளின் பெயரை உள்ளிடவும்" ) புதிய பெயர் "" எனில், ActiveSheet. நகலெடு பிறகு:=Worksheets(Sheets.Count) பிழையின் போது Resume Next activeSheet.Name = newName End என்றால் End Sub

    இயக்கும்போது, ​​மேக்ரோ பின்வரும் உள்ளீட்டுப் பெட்டியைக் காண்பிக்கும், அதில் நீங்கள் விரும்பிய பெயரைத் தட்டச்சு செய்து சரி என்பதை அழுத்தவும்:

    எக்செல் மேக்ரோ தாளை நகலெடுத்து செல் மதிப்பின் அடிப்படையில் மறுபெயரிடவும்

    இல் சில சூழ்நிலைகளில், ஒரு குறிப்பிட்ட செல் மதிப்புடன் நகலை பெயரிடுவது மிகவும் வசதியாக இருக்கலாம், எடுத்துக்காட்டாக, ஒரு நெடுவரிசை தலைப்பு. இதற்கு, நீங்கள் மேலே உள்ள குறியீட்டை எடுத்து, தற்போது தேர்ந்தெடுக்கப்பட்ட கலத்தின் மதிப்பை உள்ளீட்டு பெட்டியில் தானாகவே வழங்கவும். முந்தைய எடுத்துக்காட்டைப் போலவே, செயலில் உள்ள பணிப்புத்தகத்தின் முடிவில் நகல் வைக்கப்படும்.

    உங்கள் பயனர்கள் எப்போதும் இயங்கும் முன் சரியான கலத்தைத் தேர்ந்தெடுக்க வேண்டும் என்பதே தந்திரமான பகுதியாகும். மேக்ரோ :)

    Public Sub CopySheetAndRenameByCell() புதியபெயரை சரமாக மங்கச் செய்யவும். நகலெடு பிறகு:=பணித்தாள்கள்(தாள்கள்.எண்ணிக்கை) பிழையின் மறுதொடக்கம் அடுத்து ஆக்டிவ்ஷீட்.Name = newName End எனில் முடிவு துணை

    மாற்றாக, நீங்கள் ஹார்ட்கோட் முகவரிநகலுக்கு பெயரிடப்பட வேண்டிய செல் , கீழே உள்ள குறியீட்டில் செல் A1. மற்றொரு கலத்தின் அடிப்படையில் நகலெடுக்கப்பட்ட ஒர்க்ஷீட்டிற்குப் பெயரிட, A1ஐ பொருத்தமான செல் குறிப்புடன் மாற்றவும்.

    பொதுத் துணை நகல் தாள்AndRenameByCell2() வொர்க்ஷீட் ஆக மங்கலான வாக்ஸ் = ஆக்டிவ்ஷீட் ஆக்டிவ்ஷீட். நகலெடு ( "A1" ).மதிப்பு "" பின்னர் பிழையை மீண்டும் தொடரவும் Next activeSheet.Name = wks.Range( "A1" ).மதிப்பு முடிவு wks எனில் 0>இந்த மேக்ரோ செயலில் உள்ள தாளை மூடிய பணிப்புத்தகத்தின் இறுதி வரை நகலெடுக்கிறது. குறியீட்டில் மற்றொரு பணிப்புத்தகத்தின் பெயர் குறிப்பிடப்படவில்லை - மேக்ரோ நிலையான விண்டோஸ் எக்ஸ்ப்ளோரர் சாளரத்தைத் திறந்து, எந்த இலக்கு கோப்பையும் தேர்வுசெய்ய உங்களை அனுமதிக்கும்:

    நீங்கள் கோப்பைத் தேர்ந்தெடுத்த பிறகு திற என்பதைக் கிளிக் செய்து, மேக்ரோ செயலில் உள்ள தாளை நகலெடுத்து, இலக்குப் பணிப்புத்தகத்தை தானாகவே மூடும்.

    பொதுத் துணை நகல்தாள்ToClosedWorkbook() மங்கலான கோப்புப்பெயர் மங்கலான மூடிய புத்தகம் பணிப்புத்தகமாக மங்கலான கரண்ட்ஷீட் ஒர்க்ஷீட் கோப்புப்பெயர் = Application.GetOpenFilename( "Excel கோப்புகள் (*.xlsx), *.xlsx" ) கோப்பு பெயர் தவறு எனில் Application.ScreenUpdating = False Set currentSheet = Application.activeSheet Set closeBook = Workbooks. (fileName) நடப்புத் தாளைத் திற. பிறகு நகலெடு:=closedBook.Sheets(closedBook.Worksheets.Count) closeBook. மூடு ( உண்மை ) Application.ScreenUpdating = True End If End Sub

    Excel VBA இல்லாமல் வேறொரு பணிப்புத்தகத்திலிருந்து தாளை நகலெடுக்கopening

    இந்த மேக்ரோ, வேறொரு எக்செல் கோப்பில் இருந்து ஒர்க் ஷீட்டைத் திறக்காமலேயே நகலெடுக்க உதவுகிறது. தற்போதைய பணிப்புத்தகத்தின் முடிவில் நகலெடுக்கப்பட்ட தாள் செருகப்படும்.

    குறியீட்டில் இரண்டு மாற்றங்களைச் செய்ய நினைவில் கொள்ளுங்கள்:

    • C:\Users\XXX\Documents\ Target_Book.xlsx ஆனது நீங்கள் தாளை நகலெடுக்க விரும்பும் பணிப்புத்தகத்தின் உண்மையான பாதை மற்றும் பெயருக்கு மாற்றப்பட வேண்டும்.
    • Sheet1 என்பது நீங்கள் நகலெடுக்க விரும்பும் தாளின் பெயருடன் மாற்றப்பட வேண்டும்.
    பொதுத் துணை நகல் தாள் க்ளோஸ்டுவொர்க்புக்() ஒர்க்புக் பயன்பாடாக மங்கலான மூலப் புத்தகம் திறக்க ( "C:\Users\XXX\Documents\Target_Book.xlsx" ) sourceBook.Sheets( "Sheet1" ).பிறகு நகலெடு:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) sourceBook. Application ஐ மூடு பின்வரும் மேக்ரோ மூலம் இதை எளிதாகச் செய்யலாம்.Public Sub DuplicateSheetMultipleTimes() Dim n As Integer on Error Resume Next n = InputBox( "செயலில் உள்ள தாளின் எத்தனை நகல்களை நீங்கள் உருவாக்க விரும்புகிறீர்கள்?" ) என்றால் n > = 1 பிறகு எண் நேரங்களுக்கு = 1 முதல் n ஆக்டிவ்ஷீட் வரை. நகலெடுக்க பிறகு:=ஆக்டிவ்வொர்க்புக்.தாள்கள்(வொர்க்ஷீட்ஸ்.எண்ணிக்கை) அடுத்த முடிவு என்றால் துணை

    அசல் தாளைத் திறந்து, மேக்ரோவை இயக்கவும், செயலில் உள்ள தாளின் எத்தனை நகல்களைக் குறிப்பிடவும்நீங்கள் உருவாக்க விரும்புகிறீர்கள், மேலும் சரி :

    எக்செல் இல் உள்ள தாள்களை VBA உடன் நகலெடுப்பது எப்படி

    எக்செல் இல் தாளை நகலெடுக்க மேலே உள்ள மேக்ரோக்களில் ஒன்றைக் கொண்டு, உங்கள் சொந்த புத்தகத்தில் VBA குறியீட்டைச் செருகலாம் அல்லது எங்கள் மாதிரிப் பணிப்புத்தகத்திலிருந்து மேக்ரோவை இயக்கலாம்.

    உங்கள் பணிப்புத்தகத்தில் மேக்ரோவை எவ்வாறு சேர்ப்பது

    செருக உங்கள் பணிப்புத்தகத்தில் உள்ள குறியீடு, இந்தப் படிகளைச் செய்யவும்:

    1. நீங்கள் நகலெடுக்க விரும்பும் பணித்தாளைத் திறக்கவும்.
    2. விசுவல் பேசிக் எடிட்டரைத் திறக்க Alt + F11 ஐ அழுத்தவும்.
    3. ஆன் இடது பலகத்தில், இந்தப் பணிப்புத்தகம் வலது கிளிக் செய்து, பின்னர் செருகு > தொகுதி என்பதைக் கிளிக் செய்யவும்.
    4. குறியீடு சாளரத்தில் குறியீட்டை ஒட்டவும்.
    5. மேக்ரோவை இயக்க F5 ஐ அழுத்தவும்.

    விவரமான படிப்படியான வழிமுறைகளுக்கு, எக்செல் இல் VBA குறியீட்டை எவ்வாறு செருகுவது என்பதைப் பார்க்கவும்.

    எப்படி இயக்குவது எங்கள் மாதிரி பணிப்புத்தகத்திலிருந்து ஒரு மேக்ரோ

    மாற்றாக, எக்செல் தாள்களை நகல் எடுக்க எங்கள் மாதிரி பணிப்புத்தகத்தைப் பதிவிறக்கம் செய்து, அங்கிருந்து குறியீட்டை இயக்கலாம்.

    மாதிரிப் பணிப்புத்தகத்தில் பின்வரும் மேக்ரோக்கள் உள்ளன:

    <0 CopySheetToNewWorkbook- cuஐ நகலெடுக்கிறது ஒர்க்ஷீட்டை ஒரு புதிய பணிப்புத்தகத்திற்கு rrent செய்யவும்.

    CopySelectedSheets - நீங்கள் தேர்ந்தெடுத்த பல தாள்களை புதிய பணிப்புத்தகத்திற்கு நகலெடுக்கிறது.

    CopySheetToBeginningAnotherWorkbook - செயலில் உள்ள தாளை நகலெடுக்கிறது. மற்றொரு பணிப்புத்தகத்தின் தொடக்கத்திற்கு.

    CopySheetToEndAnotherWorkbook - செயலில் உள்ள தாளை மற்றொரு எக்செல் கோப்பின் முடிவில் நகலெடுக்கிறது.

    CopySheetAndRename - தற்போதையதை நகலெடுக்கிறது. தாள்,பயனரால் குறிப்பிடப்பட்டபடி அதை மறுபெயரிடுகிறது மற்றும் தற்போதைய பணிப்புத்தகத்தில் உள்ள மற்ற எல்லா தாள்களுக்கும் பிறகு நகலை வைக்கிறது.

    CopySheetAndRenamePredefined - செயலில் உள்ள தாளை நகலெடுக்கிறது, நகலுக்கு ஹார்ட்கோட் செய்யப்பட்ட பெயரைக் கொடுத்து அதை வைக்கிறது தற்போதைய பணிப்புத்தகத்தின் முடிவில்.

    CopySheetAndRenameByCell - செயலில் உள்ள தாளின் நகலை உருவாக்கி, தேர்ந்தெடுக்கப்பட்ட செல் மதிப்பின் அடிப்படையில் மறுபெயரிடுகிறது.

    CopySheetAndRenameByCell2 - செயலில் உள்ள தாளை நகலெடுத்து, ஹார்ட்கோட் செய்யப்பட்ட செல் முகவரியின் அடிப்படையில் மறுபெயரிடுகிறது.

    CopySheetToClosedWorkbook - மூடிய பணிப்புத்தகத்திற்கு தாளை நகலெடுக்க உங்களை அனுமதிக்கிறது.

    CopySheetFromClosedWorkbook - ஒரு தாளைத் திறக்காமலேயே மற்றொரு எக்செல் கோப்பிலிருந்து நகலெடுக்க உதவுகிறது.

    DuplicateSheetMultipleTimes - Excel இல் ஒரு தாளைப் பலமுறை நகலெடுக்க உங்களை அனுமதிக்கிறது.

    இதற்கு. உங்கள் Excel இல் மேக்ரோவை இயக்கவும், பின்வருவனவற்றைச் செய்யவும்:

    1. பதிவிறக்கம் செய்யப்பட்ட பணிப்புத்தகத்தைத் திறந்து, கேட்கப்பட்டால் உள்ளடக்கத்தை இயக்கவும்.
    2. உங்கள் சொந்தப் பணிப்புத்தகத்தைத் திறந்து, நீங்கள் விரும்பும் தாளுக்குச் செல்லவும். நகல்.
    3. <1 7>உங்கள் பணித்தாளில், Alt + F8 ஐ அழுத்தி, ஆர்வமுள்ள மேக்ரோவைத் தேர்ந்தெடுத்து, Run என்பதைக் கிளிக் செய்யவும்.

    இவ்வாறு நீங்கள் நகலெடுக்கலாம் VBA உடன் Excel இல் ஒரு தாள். படித்ததற்கு நன்றி மற்றும் அடுத்த வாரம் உங்களை எங்கள் வலைப்பதிவில் சந்திப்போம் என்று நம்புகிறேன்!

    மைக்கேல் பிரவுன் ஒரு பிரத்யேக தொழில்நுட்ப ஆர்வலர், மென்பொருள் கருவிகளைப் பயன்படுத்தி சிக்கலான செயல்முறைகளை எளிதாக்குவதில் ஆர்வம் கொண்டவர். தொழில்நுட்பத் துறையில் ஒரு தசாப்தத்திற்கும் மேலான அனுபவத்துடன், மைக்ரோசாஃப்ட் எக்செல் மற்றும் அவுட்லுக், அத்துடன் கூகுள் தாள்கள் மற்றும் டாக்ஸில் தனது திறமைகளை மெருகேற்றியுள்ளார். மைக்கேலின் வலைப்பதிவு அவரது அறிவையும் நிபுணத்துவத்தையும் மற்றவர்களுடன் பகிர்ந்துகொள்வதற்காக அர்ப்பணிக்கப்பட்டுள்ளது, உற்பத்தித்திறன் மற்றும் செயல்திறனை மேம்படுத்துவதற்கு எளிதாகப் பின்பற்றக்கூடிய உதவிக்குறிப்புகள் மற்றும் பயிற்சிகளை வழங்குகிறது. நீங்கள் ஒரு அனுபவமிக்க நிபுணராக இருந்தாலும் அல்லது தொடக்கநிலையாளராக இருந்தாலும், மைக்கேலின் வலைப்பதிவு இந்த அத்தியாவசிய மென்பொருள் கருவிகளில் இருந்து அதிகமானவற்றைப் பெறுவதற்கு மதிப்புமிக்க நுண்ணறிவுகளையும் நடைமுறை ஆலோசனைகளையும் வழங்குகிறது.