Excel VBA Պատճենել միջակայքը մեկ այլ թերթիկի վրա (8 ամենահեշտ եղանակները)

  • Կիսվել Սա
Hugh West

Երբ որ ձեզ անհրաժեշտ է, կարող եք պատճենել մի շարք մի թերթիկից մյուս թերթիկ կամ աշխատանքային գրքույկ: Կան պատճենման և տեղադրման տարբեր տեսակներ: Այս հոդվածից հետո դուք կծանոթանաք Excel VBA-ի պատճենների տիրույթն այլ թերթում օգտագործելու տարբեր եղանակներին:

Բացատրությունը աշխույժ դարձնելու համար ես պատրաստվում եմ օգտագործել տվյալների հավաքածուի նմուշ, որը ներկայացնում է որոշակի անձանց անձնական տվյալները: . Տվյալների հավաքածուն ունի 4 սյունակ: Այս սյունակներն են Անուն, Ազգանուն, Ամբողջական Անուն, և Email :

Ներբեռնեք աշխատանքային գիրքը պրակտիկայի համար

VBA Պատճենել միջակայքը մեկ այլ Sheet.xlsm

Excel-ի 8 եղանակներ VBA Պատճենել միջակայքը մեկ այլ թերթիկ

1. Պատճենել ընդգրկույթը Մեկ այլ թերթիկ՝ ֆորմատով

Երբ ուզում եք Պատճենել մի թերթիկից մյուս թերթ Ձևաչափով Դուք կարող եք պարզապես դա անել՝ օգտագործելով VBA :

Այստեղ ես Պատճենեմ միջակայքը Տվյալների հավաքածու թերթից մինչև WithFormat թերթ:

Եկեք սկսենք ընթացակարգը,

Սկզբում բացեք Developer ներդիրը >> ընտրել Visual Basic

Դուք կարող եք նաև օգտագործել ALT + F11 ստեղնաշարը VBA <բացելու համար: 3>խմբագիր:

Հաջորդը կբացի նոր պատուհան Microsoft Visual Basic հավելվածների համար:

Այնտեղից բացեք Տեղադրեք >> ընտրեք Մոդուլ ։

Ա Մոդուլը կբացվի, այնուհետև մուտքագրեք հետևյալ կոդը բացված հատվածում։ >> ընտրեք Դիտել մակրոները

➤ Կհայտնվի երկխոսության տուփ :

Այժմ, Մակրո անունից ընտրեք Copy_Range_BelowLastCell_AnotherSheets նաև ընտրեք աշխատանքային գիրքը Մակրոներում -ում:

Վերջապես, Գործարկել ընտրված Մակրո ։

Այսպիսով, այն Պատճենելու է ընտրված միջակայքը և Կպցնել այն մեկ այլ թերթի վերջին տողից։ .

8. VBA Պատճենեք ընդգրկույթը մեկ այլ աշխատանքային գրքի վերջին շարքում

Եթե ցանկանում եք Պատճենել տարածքից մինչև մեկ այլ աշխատանքային գրքի թերթի վերջին տող, դուք կարող եք նաև օգտագործել VBA :

Այստեղ ես Պատճենեմ միջակայքը Dataset2-ից: թերթ դեպի Թերթ1 Գիրք2 բայց առաջին ոչ դատարկ բջիջից:

Ընթացակարգը սկսելու համար,

Սկզբում բացեք Developer ներդիրը >> ընտրել Visual Basic

Դուք կարող եք նաև օգտագործել ALT + F11 ստեղնաշարը VBA խմբագիրը բացելու համար:

Այնուհետև այն կբացի Microsoft Visual Basic հավելվածների նոր պատուհանը:

Այնտեղից բացեք Տեղադրեք >> ընտրեք Մոդուլ ։

Ա Մոդուլը կբացվի, ապա մուտքագրեք հետևյալ կոդը բացված Մոդուլում ։

5034

Այստեղ ես հայտարարեցի Ենթակարգը Copy_Range_BelowLastCell_To_Another_Workbook որտեղ wsCopy և wsDestination են Աշխատանքային թերթի տիպը, lCopyLastRow և lDestLastRow են Երկար տեսակ:

Սկզբում օգտագործվում է Սահմանել փոփոխականներ սահմանելու համար թերթի պատճենման և նպատակակետի թերթիկի համար:

Հաջորդը, օգտագործեց Տող մեթոդը՝ պատճենելու տիրույթում A սյունակի տվյալների հիման վրա վերջին տողը գտնելու համար:

Կրկին օգտագործեց Տող մեթոդը: նպատակակետի միջակայքում A սյունակի տվյալների հիման վրա առաջին դատարկ տողը գտնելու համար օգտագործվել է նաև Offset մեկ հատկություն ներքև տեղափոխելու համար:

Վերջապես, Պատճենվել է Dataset2 թերթի տվյալները Excel VBA Copy Range to Another Sheet.xlsm աշխատանքային գրքույկից մինչև նպատակակետ Sheet1 աշխատանքային գրքի Book2.xlsx .

Այժմ, Պահպանեք կոդը և վերադարձեք աշխատաթերթ:

Այնուհետև բացեք Դիտել ներդիրը >> Մակրոներից >> ընտրեք Դիտել մակրոները

➤ Կհայտնվի երկխոսության տուփ :

Այժմ, Մակրո անունից ընտրեք Copy_Range_BelowLastCell_To_Another_Workbook ընտրեք նաև աշխատանքային գիրքը Macros-ում -ում:

Վերջապես, Գործարկել ընտրված Մակրո :

Հետևաբար, այն Պատճենում է ընտրված միջակայքը առկա թերթից մինչև մեկ այլ աշխատանքային գրքի վերջին տող:

Պրակտիկա բաժին

Ես աշխատանքային գրքում ներկայացրել եմ պրակտիկայի թերթիկ՝ Excel-ի VBA պատճենման տիրույթի այս բացատրված եղանակները կիրառելու համար մեկ այլ թերթիկ:

Եզրակացություն

Այս հոդվածում ես բացատրեցի 8 տարբեր տեսակի հեշտ և արագ եղանակներExcel VBA պատճենել տիրույթը մեկ այլ թերթիկի վրա: Այս տարբեր եղանակները կօգնեն ձեզ պատճենել ընդգրկույթը մեկ թերթից մյուսը, ինչպես նաև մեկ թերթից մյուս աշխատանքային գրքույկը: Վերջին, բայց ոչ պակաս կարևորը, եթե ունեք որևէ տեսակի առաջարկներ, գաղափարներ և կարծիքներ, խնդրում ենք ազատորեն մեկնաբանել ստորև:

Մոդուլ։
8119

Այստեղ ես հայտարարեցի Ենթաընթացակարգը Copy_Range_withFormat_ToAnother_Sheet

Ես վերցրել եմ տիրույթը B1:E10 առկա թերթից թերթի անվանմանը պատճենելու համար WithFormat :

Այստեղ ես օգտագործել եմ Պատճեն ընտրված միջակայքը պատճենելու մեթոդ, Պատճենել մեթոդը պատճենում է ցանկացած տիրույթ Ֆորմատ -ով:

Վերջապես, Պահպանեք կոդը և վերադառնաք աշխատանքային թերթիկ .

Այնուհետև բացեք Դիտել ներդիրը >> Մակրոներից >> ընտրեք Դիտել մակրոները

➤ Կհայտնվի երկխոսության տուփ :

Այժմ, Մակրո անունից ընտրեք Copy_Range_withFormat_ToAnother_Sheet ընտրեք նաև աշխատանքային գիրքը Macros-ում -ում:

Վերջապես, Գործարկել ընտրված Մակրո :

Հետևաբար, այն Պատճենում է ընտրված տիրույթը Ձևաչափով ով իմ ընտրած նոր թերթիկում ( WithFormat) .

2. VBA Պատճենել միջակայքը մեկ այլ թերթի վրա առանց ձևաչափի

Այն նաև հնարավոր է պատճենել ընդգրկույթը մեկ այլ թերթում առանց Ձևաչափի օգտագործելով VBA :

Այստեղ ես Պատճենեմ միջակայք Տվյալների հավաքածու թերթից մինչև Առանց ձևաչափի թերթ:

Եկեք սկսենք ընթացակարգը,

Այժմ բացեք Developer ներդիր >> ընտրեք Visual Basic ( օգտագործեք ALT + F11)

Հաջորդը կբացվի Microsoft Visual Basic հավելվածների համար:

Այնուհետև բացեք Տեղադրեք >> ընտրեք Մոդուլ ։

Ա Մոդուլը կբացվի, ապա մուտքագրեք հետևյալ կոդը բացված Մոդուլում ։

1979

Այստեղ ես հայտարարեցի Ենթակարգը Copy_Range_WithoutFormat_Toanother_Sheet

Ես վերցրել եմ միջակայքը B1:E10 գոյություն ունեցող թերթից թերթի անունը պատճենելու համար Առանց ձևաչափի :

Այստեղ ես օգտագործել եմ Պատճենել մեթոդը` ընտրված տիրույթը պատճենելու համար, բայց նաև նշել է Paste:=xlPasteValues ​​ PasteSpecial մեթոդում, որպեսզի այն կտեղադրի միայն ընտրված միջակայքի Արժեքները , ոչ թե ձևաչափը:

Վերջապես: , Պահպանեք կոդը և վերադարձեք աշխատաթերթ:

Այնուհետև բացեք Դիտել ներդիրը >> Մակրոներից >> ընտրեք Դիտել մակրոները

➤ Կհայտնվի երկխոսության տուփ :

Այժմ, Մակրո անունից ընտրեք Copy_Range_WithoutFormat_Toanother_sheet և նաև ընտրեք աշխատանքային գիրքը Մակրոներում -ում:

Վերջապես, Գործարկեք ընտրված Մակրո :

Այսպիսով, այն Պատճենել ընտրված տիրույթը միայն Արժեքներով առանց Ձևաչափի .

3. Պատճենեք ընդգրկույթը մեկ այլ թերթիկի ձևաչափով և սյունակի լայնությամբ

Երբեմն կարող եք ցանկանալ Պատճենեք ցանկացած ընտրված տիրույթն այնպես, ինչպես կա, դրա համար կարող եք Պատճենել ընդգրկույթը Ձևաչափով և Սյունակի լայնությամբ ։

Այստեղ, Ես Պատճենեմ մի միջակայք Տվյալների հավաքածու թերթից մինչև Ձևաչափ և amp; Սյունակի լայնությունը թերթ:

Որպեսզի տեսնեք առաջադրանքը VBA -ի միջոցով կատարելու ընթացակարգը,

Սկզբում բացեք Developer ներդիրը >> ընտրել Visual Basic

Դուք կարող եք նաև օգտագործել ALT + F11 ստեղնաշարը VBA խմբագիրը բացելու համար:

Այնուհետև այն կբացի Microsoft Visual Basic հավելվածների նոր պատուհանը:

Այնտեղ բացեք Տեղադրեք >> ընտրեք Մոդուլ ։

Ա Մոդուլը կբացվի, ապա մուտքագրեք հետևյալ կոդը բացված Մոդուլում ։

7652

Այստեղ ես հայտարարեցի Ենթակարգը Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth

Ես վերցրել եմ տիրույթը B1:E10 առկա թերթից պատճենելու նպատակակետ թերթի անունը Ձևաչափել & Սյունակի լայնությունը ։

Այստեղ ես օգտագործեցի Պատճենել մեթոդը՝ ընտրված միջակայքը պատճենելու համար։ Ես նաև օգտագործեցի PasteSpecial մեթոդը, որտեղ նշեցի Paste:=xlPasteColumnWidths որպեսզի այն տեղադրի ընտրված միջակայքը Format և Column Width հետ միասին: .

Վերջապես, Պահպանեք կոդը և վերադարձեք աշխատաթերթ:

Այնուհետև բացեք Դիտել ներդիրը >> Մակրոներից >> ընտրեք Դիտել մակրոները

➤ Կհայտնվի երկխոսության տուփ :

Այժմ, Մակրո անունից ընտրեք Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth և նաև ընտրեք աշխատանքային գրքույկը Մակրոներում -ում:

Վերջապես, Գործարկեք ընտրվածը Մակրո ։

Արդյունքում այն ​​ Պատճենելու է ընտրված միջակայքը Ձևաչափով և Սյունակի լայնությամբ ։

4. VBA Պատճենեք ընդգրկույթը մեկ այլ թերթիկի բանաձևով

Եթե ձեր տվյալների բազայում որևէ բանաձև ունեք, որը ցանկանում եք պատճենել: Ոչ մի անհանգստություն! Դուք կարող եք պատճենել Բանաձև պարունակող միջակայքը մեկ այլ թերթում՝ բանաձևն անփոփոխ պահելով:

Այստեղ ես Պատճենեմ մի ընդգրկույթ Տվյալների հավաքածու թերթից: դեպի WithFormula թերթ

Սկսենք ընթացակարգը,

Սկզբից բացեք Developer ներդիրը >> ընտրեք Visual Basic ( կարող եք նաև օգտագործել ALT + F11 ստեղնաշարը)

Հաջորդը` կբացվի Microsoft Visual Basic հավելվածների համար:

Այնտեղից բացեք Insert >> ընտրեք Մոդուլ ։

Ա Մոդուլը կբացվի, ապա մուտքագրեք հետևյալ կոդը բացված Մոդուլում ։

8124

Այստեղ ես հայտարարեցի Ենթակարգը Copy_Range_withFormula_ToAnother_Sheet

Ես վերցրել եմ տիրույթը B1:E10 առկա թերթից պատճենելու նպատակակետ թերթի անունը WithFormula :

Այստեղ ես օգտագործեցի Պատճենել մեթոդը` ընտրված միջակայքը պատճենելու համար: Ես նաև օգտագործեցի PasteSpecial մեթոդը, որտեղ նշեցի Paste:=xlPasteFormulas որպեսզի այն տանի Formulas ընտրված տիրույթի հետ միասին:

Վերջապես: , Պահպանեք կոդը և վերադարձեք աշխատաթերթ:

Այնուհետև բացեք Դիտել ներդիր >> Մակրոներից >> ընտրեք Դիտել մակրոները

➤ Կհայտնվի երկխոսության տուփ :

Այժմ, Մակրո անունից ընտրեք Copy_Range_withFormula_ToAnother_Sheet ընտրեք նաև աշխատանքային գիրքը Macros-ում -ում:

Վերջապես, Գործարկել ընտրված Մակրո :

Այսպիսով, այն Պատճենի բոլոր ընտրված բջիջների տիրույթները Բանաձեւերով :

Նման ընթերցումներ.

  • Ինչպես օգտագործել VBA տիրույթի օֆսեթ (11 եղանակ)
  • VBA Excel-ում տիրույթի յուրաքանչյուր բջիջի համար (3 մեթոդ)
  • Ինչպես օգտագործել VBA-ի տիրույթի օբյեկտը Excel-ում (5 հատկություն)

5. Պատճենեք ընդգրկույթը AutoFit-ով մեկ այլ թերթիկում

Մինչ պատճենելով ընդգրկույթը մեկ այլ թերթի վրա, կարող եք նաև օգտագործել AutoFit մեթոդը: VBA մինչև AutoFit պատճենված տիրույթը նոր թերթում:

Այստեղ ես Պատճենեմ միջակայքը Տվյալների հավաքածուից: թերթ դեպի AutoFit թերթ

Եկեք սկսենք ընթացակարգը,

Սկզբում բացեք Developer ներդիրը >> ընտրել Visual Basic

Դուք կարող եք նաև օգտագործել ALT + F11 ստեղնաշարը VBA խմբագիրը բացելու համար:

Այնուհետև այն կբացի Microsoft Visual Basic հավելվածների պատուհանը:

Այնուհետև բացեք Տեղադրեք > ;> ընտրեք Մոդուլ ։

Ա Մոդուլը կբացվի, այնուհետև մուտքագրեք հետևյալ կոդը բացված հատվածում։ Մոդուլ ։

4883

Այստեղ ես հայտարարեցի Ենթակարգը Copy_Range_withFormat_AutoFit

Նախ, ես ընտրեցի աշխատանքային թերթիկը Տվյալների հավաքածու : Այնուհետև վերցրեց B1:E10 տիրույթը` գոյություն ունեցող թերթից դեպի նպատակակետ AutoFit պատճենելու համար:

Այստեղ ես օգտագործեցի Պատճեն ընտրված միջակայքը պատճենելու մեթոդ, և AutoFit մեթոդը ավտոմատ կերպով կհամապատասխանի տվյալ սյունակներին B:E :

Վերջապես, Պահպանեք կոդը և գնացեք վերադառնալ աշխատաթերթ:

Հաջորդը բացեք Դիտել ներդիրը >> Մակրոներից >> ընտրել Դիտել մակրոները

➤ Կհայտնվի երկխոսության տուփ :

Այժմ, Մակրո անունից ընտրեք Copy_Range_withFormat_AutoFit նաև ընտրեք աշխատանքային գիրքը Macros-ում -ում:

Վերջապես, Գործարկել ընտրված Մակրո :

Այսպիսով, այն Պատճենի ընտրված տիրույթը նոր թերթում, ինչպես նաև AutoFit սյունակները:

6. VBA Պատճենել ընդգրկույթը մեկ այլ աշխատանքային գրքում

Եթե ցանկանում եք, կարող եք նաև Պատճենել մի թերթիկից մյուս թերթիկ մեկ այլ աշխատանքային գրքույկի:

Այստեղ ես Պատճենեմ միջակայքը Տվյալների հավաքածու թերթից մինչև Թերթ1 Գիրք1 աշխատանքային գրքույկ:

Եկեք սկսենք ընթացակարգը,

Սկզբում բացեք Developer ներդիրը >> ընտրեք Visual Basic (y կարող եք նաև օգտագործել ALT + F11 ստեղնաշարը)

Այնուհետև, այն կբացի Microsoft Visual-ըՀիմնական հավելվածների համար:

Հաջորդը բացեք Տեղադրեք >> ընտրեք Մոդուլ ։

Ա Մոդուլը կբացվի, ապա մուտքագրեք հետևյալ կոդը բացված Մոդուլում ։

6552

Այստեղ ես հայտարարեցի Ենթակարգը Copy_Range_WithFormat_Toanother_WorkBook

Ես վերցրել եմ շրջանակը B3:E10 էջի անունից Տվյալների հավաքածու առկա թերթից պատճենելու աշխատանքային գրքի նոր անունը Գիրք1 և թերթի անունը Թերթ 1 :

Այստեղ ես օգտագործեցի Պատճենել մեթոդը` ընտրված միջակայքը նոր աշխատանքային գրքում պատճենելու համար:

Վերջապես, Պահեք կոդը և վերադարձեք աշխատաթերթ:

Այնուհետև բացեք Դիտել ներդիրը >> Մակրոներից >> ընտրել Դիտել մակրոները

➤ Կհայտնվի երկխոսության տուփ :

Այժմ, Մակրո անունից ընտրեք Copy_Range_WithFormat_Toanother_WorkBook նաև ընտրեք աշխատանքային գիրքը Macros-ում -ում:

Վերջապես, Գործարկել: ընտրված Մակրո :

Այժմ այն ​​ Պատճենի ընտրված միջակայքը Տվյալների հավաքածու թերթից մեկ այլ աշխատանքային գրքույկ:

7. Պատճենեք ընդգրկույթը մեկ այլ թերթի վերջին շարքում

Ամեն դեպքում, եթե ցանկանում եք Պատճենել ընդգրկույթը մեկ այլ թերթի վրա որոշակի բջիջից կամ վերջին բջիջից դուք կարող եք դա անել՝ օգտագործելով VBA :

Մինչ ընթացակարգին անցնելը, ես ուզում եմ ձեզ ասել, որ ես վերցրել եմ երկու նոր թերթ, որոնք բաղկացած են Լրիվ անուն, էլ. փոստ, և Հասցե ։

Եկեք նախ դիտարկենք Dataset2 թերթը։

Ահա Վերջին բջիջի ներքևում թերթը:

Այստեղ ես պատճենեմ մի շարք Dataset2 թերթ դեպի Վերջին բջիջից ներքև բայց առաջին ոչ դատարկ բջիջից:

Սկզբից բացեք Developer ներդիրը >> ընտրեք Visual Basic

Հաջորդը, այն կբացվի Microsoft Visual Basic հավելվածների համար:

Այնուհետև բացեք Տեղադրել >> ընտրեք Մոդուլ ։

Ա Մոդուլը կբացվի, ապա մուտքագրեք հետևյալ կոդը բացված Մոդուլում ։

6822

Այստեղ ես հայտարարեցի Ենթակարգը Copy_Range_BelowLastCell_AnotherSheets

Նախ, ես ընտրեցի թերթիկը Տվյալների հավաքածու2 և այնուհետև օգտագործեց Տող մեթոդը Վերջին տողը հաշվելու համար և հաշված տողը պահեց lr -ում:

Այնուհետև վերցվեց: միջակայքը A2:C & lr առկա թերթից պատճենելու նպատակակետ թերթի անունը Վերջին բջիջից ներքև :

Նորից օգտագործեց Տող մեթոդը Վերջինը հաշվելու համար: Մեկ այլ թերթի տող , որը կոչվում է Վերջին բջիջից ներքև և հաշված տողը պահեց lrAnotherSheet -ում:

Այստեղ ես օգտագործել եմ Պատճենել մեթոդը: ընտրված միջակայքը պատճենելու համար, և AutoFit մեթոդը ավտոմատ կերպով կհամապատասխանի տվյալ սյունակներին A:C :

Վերջապես, Պահեք կոդը և հետ գնացեք աշխատաթերթին:

Հաջորդում բացեք Դիտել ներդիրը >> Մակրոներից

Հյու Ուեսթը բարձր փորձառու Excel-ի մարզիչ և վերլուծաբան է, որն ունի ավելի քան 10 տարվա փորձ այս ոլորտում: Նա հաշվապահական հաշվառման և ֆինանսների բակալավրի և բիզնեսի կառավարման մագիստրոսի կոչում է ստացել: Հյուը կիրք ունի դասավանդելու նկատմամբ և մշակել է ուսուցման յուրահատուկ մոտեցում, որը հեշտ է հետևել և հասկանալ: Excel-ի նրա փորձագիտական ​​գիտելիքներն օգնել են հազարավոր ուսանողների և մասնագետների ամբողջ աշխարհում բարելավել իրենց հմտությունները և առաջադիմել իրենց կարիերայում: Իր բլոգի միջոցով Հյուն կիսվում է իր գիտելիքներով աշխարհի հետ՝ առաջարկելով Excel-ի անվճար ձեռնարկներ և առցանց ուսուցում, որոնք կօգնեն անհատներին և ձեռնարկություններին հասնել իրենց ողջ ներուժին: