VBA को साथ Excel मा पाना कसरी नक्कल गर्ने

  • यो साझा गर्नुहोस्
Michael Brown

सामग्री तालिका

ट्युटोरियलले एक्सेलमा पानाहरू डुप्लिकेट गर्न म्याक्रोहरूको संग्रह प्रदान गर्दछ: सेल मानको आधारमा प्रतिलिपि गर्नुहोस् र पुन: नामाकरण गर्नुहोस्, धेरै पानाहरू प्रतिलिपि गर्नुहोस्, सक्रिय कार्यपत्रलाई अर्को फाइलमा नखोलिकन प्रतिलिपि गर्नुहोस्, र थप।

Excel मा पानाहरू म्यानुअल रूपमा प्रतिलिपि गर्न धेरै छिटो र सीधा छ... यदि एक वा दुई पटक मात्र प्रदर्शन गरिएको छ। धेरै पटक धेरै पानाहरू नक्कल गर्नु बोरिंग र समय खपत हो। यस पृष्ठमा, तपाईंले यस कार्यलाई स्वचालित गर्नका लागि केही उपयोगी म्याक्रोहरू फेला पार्नुहुनेछ।

    नयाँ कार्यपुस्तिकामा पाना प्रतिलिपि गर्न एक्सेल VBA

    यो सरल एक-लाइन म्याक्रोले गर्छ। ठ्याक्कै यसको नामले के सुझाव दिन्छ - सक्रिय पानालाई नयाँ कार्यपुस्तिकामा प्रतिलिपि गर्दछ।

    सार्वजनिक उप प्रतिलिपि शिटटोन्युवर्कबुक() सक्रिय पाना। अन्त्य उप प्रतिलिपि गर्नुहोस्

    VBA सँग एक्सेलमा धेरै पानाहरू प्रतिलिपि गर्नुहोस्

    यदि तपाईं चाहनुहुन्छ भने सक्रिय कार्यपुस्तिकाबाट धेरै पानाहरू नयाँमा प्रतिलिपि गर्नुहोस्, चासोका सबै कार्यपत्रहरू चयन गर्नुहोस् र यो म्याक्रो चलाउनुहोस्:

    सार्वजनिक उप प्रतिलिपि चयन गर्नुहोस्() ActiveWindow.SelectedSheets.Copy End Sub

    अर्को कार्यपुस्तिकामा पाना प्रतिलिपि गर्न एक्सेल VBA

    तपाईँले प्रतिलिपि गरिएको पाना कहाँ घुसाउन चाहनुहुन्छ भन्ने आधारमा, निम्न मध्ये एउटा म्याक्रो प्रयोग गर्नुहोस्।

    पानालाई अर्को कार्यपुस्तिकाको सुरुमा प्रतिलिपि गर्नुहोस्

    यस म्याक्रोले सक्रिय पानालाई पहिले प्रतिलिपि बनाउँछ गन्तव्य फाइलमा अन्य सबै कार्यपत्रहरू, यो उदाहरणमा Book1 । अर्को फाइलमा प्रतिलिपि गर्न, "Book1.xlsx" लाई तपाईंको लक्षित कार्यपुस्तिकाको पूरा नामले बदल्नुहोस्।

    सार्वजनिक उपप्रतिलिपि गर्नुहोस्। प्रतिलिपिलाई Book1को अन्त्यमा राख्छ। फेरि, कृपया आफ्नो गन्तव्य कार्यपुस्तिकाको नाममा "Book1.xlsx" लाई प्रतिस्थापन गर्न सम्झनुहोस्।Public Sub CopySheetToEndAnotherWorkbook()activeSheet.Copy After:=Workbooks( "Book1.xlsx" ).Sheets(workbooks( "Book1.xlsx") " .Worksheets.Count) End Sub

    नोट। म्याक्रोहरूले काम गर्नको लागि, लक्ष्य कार्यपुस्तिका तपाईंको हार्ड ड्राइभ वा नेटवर्कमा बचत गर्नुपर्छ।

    पानालाई चयन गरिएको कार्यपुस्तिकामा प्रतिलिपि गर्नुहोस्

    हालको पानालाई कुनै पनि खुला कार्यपुस्तिकामा प्रतिलिपि गर्न सक्षम हुनको लागि, तपाईँले ListBox नियन्त्रण ( ListBox1 नाम दिइएको) र दुईवटा बटनहरू प्रयोग गरी UserForm (नाम UserForm1 ) सिर्जना गर्न सक्नुहुन्छ:

    <3

    अर्को, फारममा डबल-क्लिक गर्नुहोस् र कोड विन्डोमा तलको कोड टाँस्नुहोस्:

    सार्वजनिक चयन गरिएको वर्कबुक स्ट्रिङ निजी उप UserForm_Initialize() SelectedWorkbook = "" ListBox1.Clear For Each wbk in Application.Workbooks ListBox1.Add (wbk.Name) Next End 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

    ठाउँमा UserForm को साथमा, तपाइँ निम्न मध्ये एउटा प्रयोग गर्न सक्नुहुन्छ। प्रतिलिपि गर्न म्याक्रोतपाईँको रोजाइको कार्यपुस्तिकामा सक्रिय पाना।

    पानालाई चयन गरिएको कार्यपुस्तिकाको सुरुमा प्रतिलिपि गर्नुहोस् :

    सार्वजनिक उप प्रतिलिपिशिटToBeginningAnotherWorkbook() Load UserForm1 UserForm1.Show If (UserForm1.kSelect" " ) त्यसपछि activeSheet.Copy Before:=Workbooks(UserForm1.SelectedWorkbook)।Sheets(1) End If Unload UserForm1 End Sub

    पानालाई चयन गरिएको कार्यपुस्तिकाको अन्त्यमा प्रतिलिपि गर्नुहोस् :

    सार्वजनिक उप प्रतिलिपि गर्नुहोस्। End Sub

    Excel मा चलाउँदा, म्याक्रोले तपाइँलाई हालै खोलिएका सबै कार्यपुस्तिकाहरूको सूची देखाउनेछ। तपाईंले आवश्यक एउटा चयन गर्नुहोस् र ठीक क्लिक गर्नुहोस्:

    पाना प्रतिलिपि गर्न र पुन: नामाकरण गर्न एक्सेल म्याक्रो

    जब तपाइँ एक्सेलमा पाना प्रतिलिपि गर्नुहुन्छ, प्रतिकृतिलाई एउटा दिइन्छ। पूर्वनिर्धारित ढाँचामा नाम जस्तै Sheet1 (2) । निम्न म्याक्रोहरूले तपाईंलाई म्यानुअल रूपमा पूर्वनिर्धारित नाम परिवर्तन गर्न समस्याबाट जोगाउन सक्छ।

    यो कोडले सक्रिय कार्यपत्रको नक्कल बनाउँछ, प्रतिलिपिलाई "परीक्षण पाना" को रूपमा नाम दिन्छ (तपाईं यसलाई आफूलाई मनपर्ने कुनै अन्य नामले प्रतिस्थापन गर्न स्वतन्त्र हुनुहुन्छ) , र हालको कार्यपुस्तिकाको अन्त्यमा प्रतिलिपि गरिएको पाना राख्छ।

    सार्वजनिक उप प्रतिलिपिशिटAndRenamePredefined()activeSheet.Copy After:=Worksheets(Sheets.Count) त्रुटिमा अर्को सक्रिय पाना पुनः सुरु गर्नुहोस्।नाम ="परीक्षण पाना" अन्त्य उप

    प्रयोगकर्तालाई प्रतिलिपि गरिएको पानाको लागि नाम निर्दिष्ट गर्न अनुमति दिन, यो कोड प्रयोग गर्नुहोस्:

    सार्वजनिक उप CopySheetAndRename() Dim newName As String on Error अर्को newName = InputBox( "प्रतिलिपि गरिएको कार्यपत्रको लागि नाम प्रविष्ट गर्नुहोस्") यदि newName "" त्यसपछि activeSheet.Copy After:=Worksheets(Sheets.Count) त्रुटिमा पुन: सुरु गर्नुहोस् NextactiveSheet.Name = newName End यदि End Sub

    चल्दा म्याक्रो निम्न इनपुट बाकस प्रदर्शन गर्दछ, जसमा तपाईंले इच्छित नाम टाइप गर्नुहोस् र ठीक थिच्नुहोस्:

    पाना प्रतिलिपि गर्न एक्सेल म्याक्रो र सेल मानको आधारमा नाम परिवर्तन गर्नुहोस्

    भित्र केहि परिस्थितिहरूमा, यो एक विशेष सेल मान संग प्रतिलिपि नाम गर्न अधिक सुविधाजनक हुन सक्छ, उदाहरण को लागी, स्तम्भ हेडर। यसको लागि, तपाईले माथिको कोड लिनुहोस् र स्वचालित रूपमा इनपुट बक्समा हाल चयन गरिएको सेल को मान आपूर्ति गर्नुहोस्। अघिल्लो उदाहरणको रूपमा, प्रतिलिपि सक्रिय कार्यपुस्तिकाको अन्त्यमा राखिनेछ।

    सबैभन्दा कठिन पक्ष भनेको तपाइँको प्रयोगकर्ताहरूले सधैं चल्नु अघि सही सेल चयन गर्नु हो। म्याक्रो :)

    सार्वजनिक उप CopySheetAndRenameByCell() त्रुटिमा स्ट्रिङको रूपमा नयाँ नाम धुनुहोस् अर्को नयाँ नाम = InputBox( "प्रतिलिपि गरिएको कार्यपत्रको लागि नाम प्रविष्ट गर्नुहोस्" , "प्रतिलिपि कार्यपत्र" , ActiveCell.Value) यदि newName "" त्यसपछि सक्रिय पाना। पछि प्रतिलिपि गर्नुहोस्:=कार्यपत्र(Sheets.Count) त्रुटिमा अर्को सक्रिय पाना पुनः सुरु गर्नुहोस्।नाम = newName End यदि End Sub

    वैकल्पिक रूपमा, तपाईंले को ठेगाना हार्डकोड गर्न सक्नुहुन्छ।सेल जसद्वारा प्रतिलिपिलाई नाम दिनुपर्छ, तलको कोडमा सेल A1। प्रतिलिपि गरिएको कार्यपत्रलाई अर्को सेलमा आधारित नाम दिनको लागि, A1 लाई उपयुक्त सेल सन्दर्भको साथ बदल्नुहोस्।

    सार्वजनिक उप CopySheetAndRenameByCell2() Dim wks As Worksheet Set wks =activeSheet activeSheet.Copy After:=Worksheets(Sheets.Count) यदि wks.Range ( "A1" ).मान "" त्यसपछि त्रुटिमा अर्को सक्रिय पाना पुन: सुरु गर्नुहोस्। नाम = wks. दायरा( "A1" )। मान अन्त्य यदि wks। सक्रिय गर्नुहोस् अन्त्य उप

    बन्द कार्यपुस्तिकामा कार्यपत्र प्रतिलिपि गर्न म्याक्रो

    यो म्याक्रोले बन्द कार्यपुस्तिकाको अन्त्यमा सक्रिय पाना प्रतिलिपि गर्दछ। अर्को कार्यपुस्तिकाको नाम कोडमा निर्दिष्ट गरिएको छैन - म्याक्रोले मानक विन्डोज एक्सप्लोरर सञ्झ्याल खोल्नेछ र तपाईंलाई कुनै पनि गन्तव्य फाइल छनोट गर्न अनुमति दिनेछ:

    तपाईले फाइल चयन गरेपछि र खोल्नुहोस् मा क्लिक गर्नुहोस्, म्याक्रोले सक्रिय पाना प्रतिलिपि गर्नेछ र लक्ष्य कार्यपुस्तिका स्वचालित रूपमा बन्द गर्नेछ।

    सार्वजनिक उप प्रतिलिपिशिटToClosedWorkbook() Dim fileName मन्द बन्दपुस्तिका कार्यपुस्तिकाको रूपमा मंद वर्तमान पाना कार्यपत्र फाइलनाम = Application.GetOpenFilename( "Excel फाइलहरू (*.xlsx), *.xlsx" ) यदि फाइलको नाम गलत छ भने अनुप्रयोग। स्क्रिनअपडेटिङ = False Set currentSheet = Application.activeSheet सेट बन्दबुक = कार्यपुस्तिकाहरू। खोल्नुहोस् (फाइल नाम) हालको पाना। पछि प्रतिलिपि गर्नुहोस्:=closedBook.Sheets(closedBook.Worksheets.Count) बन्दपुस्तक। बन्द ( True ) Application.ScreenUpdating = True End यदि End Sub

    विना नै अर्को कार्यपुस्तिकाबाट पाना प्रतिलिपि गर्न एक्सेल VBAopening

    यस म्याक्रोले तपाईंलाई अर्को एक्सेल फाइलबाट वर्कशीट नखोलीकन प्रतिलिपि गर्न सक्षम बनाउँछ। प्रतिलिपि गरिएको पाना हालको कार्यपुस्तिकाको अन्त्यमा सम्मिलित हुनेछ।

    केवल कोडमा केही प्रतिस्थापन गर्न सम्झनुहोस्:

    • C:\Users\XXX\Documents\ Target_Book.xlsx लाई कार्यपुस्तिकाको वास्तविक मार्ग र नाममा परिवर्तन गरिनुपर्छ जसबाट तपाईंले पाना प्रतिलिपि गर्न चाहनुहुन्छ।
    • Sheet1 तपाईंले प्रतिलिपि गर्न चाहेको पानाको नामले प्रतिस्थापन गर्नुपर्छ।
    सार्वजनिक उप CopySheetFromClosedWorkbook() कार्यपुस्तिका अनुप्रयोगको रूपमा मधुरो स्रोतपुस्तक। स्क्रिनअपडेटिङ = गलत सेट स्रोतपुस्तक = कार्यपुस्तिकाहरू। खोल्नुहोस् ( "C:\Users\XXX\Documents\Target_Book.xlsx" ) sourceBook.Sheets( "Sheet1" ).पछि प्रतिलिपि गर्नुहोस्:=ThisWorkbook.Sheets(This Workbook.Sheets.count) स्रोतपुस्तक। एप्लिकेसन बन्द गर्नुहोस्।स्क्रीनअपडेटिङ = ट्रु एन्ड सब

    एक्सेल VBA पाना धेरै पटक नक्कल गर्न

    कहिलेकाहीँ, तपाईंले एउटै पानालाई एक पटक भन्दा बढी नक्कल गर्न आवश्यक पर्दछ, उदाहरणका लागि एउटै डेटा सेटमा विभिन्न सूत्रहरू परीक्षण गर्न। यो निम्न म्याक्रोसँग सजिलैसँग गर्न सकिन्छ।

    सार्वजनिक उप डुप्लिकेट शीटमल्टिपलटाइम्स() त्रुटिमा पूर्णांकको रूपमा धुनुहोस् अर्को n = इनपुटबक्स ("सक्रिय पानाको कति प्रतिलिपिहरू बनाउन चाहनुहुन्छ?") यदि n > = 1 त्यसपछि numtimes को लागि = 1 to nactiveSheet.Copy after:=ActiveWorkbook.Sheets(Worksheets.Count) Next End यदि End Sub

    मूल पाना खोल्नुहोस्, म्याक्रो चलाउनुहोस्, सक्रिय पानाको कति प्रतिहरू निर्दिष्ट गर्नुहोस्तपाईं बनाउन चाहनुहुन्छ, र क्लिक गर्नुहोस् ठीक छ :

    VBA सँग एक्सेलमा पानाहरू कसरी नक्कल गर्ने

    एक्सेलमा पाना प्रतिलिपि गर्न माथिको म्याक्रो मध्ये कुनै एकको साथमा, तपाईले VBA कोड आफ्नो पुस्तकमा घुसाउन सक्नुहुन्छ वा हाम्रो नमूना कार्यपुस्तिकाबाट म्याक्रो चलाउन सक्नुहुन्छ।

    तपाईँको कार्यपुस्तिकामा म्याक्रो कसरी थप्ने

    तपाईंको कार्यपुस्तिकामा कोड, यी चरणहरू गर्नुहोस्:

    1. तपाईले प्रतिलिपि गर्न चाहनुभएको कार्यपत्र खोल्नुहोस्।
    2. भिजुअल बेसिक सम्पादक खोल्न Alt + F11 थिच्नुहोस्।
    3. अन बायाँ फलकमा, दायाँ क्लिक गर्नुहोस् यो कार्यपुस्तिका , र त्यसपछि क्लिक गर्नुहोस् घुसाउनुहोस् > मोड्युल
    4. कोड विन्डोमा कोड टाँस्नुहोस्।
    5. म्याक्रो चलाउन F5 थिच्नुहोस्।

    विस्तृत चरण-दर-चरण निर्देशनहरूको लागि, कृपया Excel मा VBA कोड कसरी घुसाउने हेर्नुहोस्।

    कसरी चलाउने। हाम्रो नमूना कार्यपुस्तिकाबाट म्याक्रो

    वैकल्पिक रूपमा, तपाईंले हाम्रो नमूना कार्यपुस्तिका डुप्लिकेट एक्सेल पानाहरूमा डाउनलोड गर्न सक्नुहुन्छ र त्यहाँबाट कोड चलाउन सक्नुहुन्छ।

    नमूना कार्यपुस्तिकामा निम्न म्याक्रोहरू छन्:

    प्रतिलिपिपाना टुन्युवर्कबुक - cu प्रतिलिपि गर्दछ नयाँ कार्यपुस्तिकामा कार्यपत्र रेन्ट गर्नुहोस्।

    प्रतिलिपि चयन गरिएको पानाहरू - तपाईंले नयाँ कार्यपुस्तिकामा चयन गर्नुभएको धेरै पानाहरू प्रतिलिपि गर्दछ।

    प्रतिलिपिशिट टु बिगिनिङअनदरवर्कबुक - सक्रिय पानाको प्रतिलिपि बनाउँछ अर्को कार्यपुस्तिकाको सुरुमा।

    CopySheetToEndAnotherWorkbook - अर्को एक्सेल फाइलको अन्त्यमा सक्रिय पानाको प्रतिलिपि बनाउँछ।

    CopySheetAndRename - हालको नक्कल गर्दछ। पाना,प्रयोगकर्ताले निर्दिष्ट गरे अनुसार यसलाई पुन: नामाकरण गर्दछ, र हालको कार्यपुस्तिकामा अन्य सबै पानाहरू पछि प्रतिलिपि राख्छ।

    प्रतिलिपि शीट र पुन: परिभाषित पूर्वनिर्धारित - सक्रिय पानाको नक्कल गर्दछ, प्रतिलिपिलाई हार्डकोड गरिएको नाम दिन्छ र यसलाई राख्छ। हालको कार्यपुस्तिकाको अन्त्यमा।

    CopySheetAndRenameByCell - सक्रिय पानाको प्रतिलिपि बनाउँछ र चयन गरिएको सेल मानको आधारमा यसलाई पुन: नामाकरण गर्दछ।

    CopySheetAndRenameByCell2 - सक्रिय पानाको प्रतिलिपि बनाउँछ र हार्डकोड गरिएको सेल ठेगानाको आधारमा यसलाई पुन: नामाकरण गर्दछ।

    CopySheetToClosedWorkbook - तपाईंलाई बन्द कार्यपुस्तिकामा पाना प्रतिलिपि गर्न अनुमति दिन्छ।

    CopySheetFromClosedWorkbook - तपाइँलाई अर्को Excel फाइलबाट पाना नखोलीकन प्रतिलिपि गर्न सक्षम बनाउँछ।

    DuplicateSheetMultipleTimes - तपाइँलाई Excel मा पाना धेरै पटक नक्कल गर्न दिन्छ।

    प्रति आफ्नो एक्सेलमा म्याक्रो चलाउनुहोस्, केवल निम्न गर्नुहोस्:

    1. डाउनलोड गरिएको कार्यपुस्तिका खोल्नुहोस् र यदि प्रोम्प्ट गरिएको छ भने सामग्री सक्षम गर्नुहोस्। प्रतिलिपि।
    2. <1 7>तपाईँको कार्यपत्रमा, Alt + F8 थिच्नुहोस्, रुचिको म्याक्रो चयन गर्नुहोस्, र Run मा क्लिक गर्नुहोस्।

    यसरी तपाइँ नक्कल गर्न सक्नुहुन्छ। VBA संग Excel मा एक पाना। म पढ्नको लागि धन्यवाद र अर्को हप्ता हाम्रो ब्लगमा भेट्ने आशा गर्दछु!

    माइकल ब्राउन सफ्टवेयर उपकरणहरू प्रयोग गरेर जटिल प्रक्रियाहरू सरल बनाउने जोशका साथ एक समर्पित टेक्नोलोजी उत्साही हो। प्राविधिक उद्योगमा एक दशक भन्दा बढी अनुभवको साथ, उनले Microsoft Excel र Outlook, साथै Google Sheets र Docs मा आफ्नो सीपलाई सम्मान गरेका छन्। माइकलको ब्लग आफ्नो ज्ञान र विशेषज्ञता अरूसँग साझेदारी गर्न समर्पित छ, उत्पादकता र दक्षता सुधार गर्न सजिलो-पछ्याउन-सजिलो सुझावहरू र ट्यूटोरियलहरू प्रदान गर्न। चाहे तपाईं अनुभवी पेशेवर होस् वा शुरुवातकर्ता होस्, माइकलको ब्लगले यी आवश्यक सफ्टवेयर उपकरणहरूबाट अधिकतम लाभ लिनको लागि बहुमूल्य अन्तर्दृष्टि र व्यावहारिक सल्लाह प्रदान गर्दछ।