Excel VBA diapazonini boshqa varaqga nusxalash (8 ta eng oson usul)

  • Buni Baham Ko'Ring
Hugh West

Istalgan vaqtda diapazonni bir varaqdan boshqa varaq yoki ish kitobiga nusxalashingiz mumkin. Nusxalash va joylashtirishning har xil turlari mavjud. Ushbu maqoladan so'ng, siz Excel VBA-dan boshqa varaqqa nusxa ko'chirish diapazonidan foydalanishning turli usullari bilan tanishasiz.

Tushuntirishni jonli qilish uchun men ma'lum shaxslarning shaxsiy ma'lumotlarini aks ettiruvchi namunaviy ma'lumotlar to'plamidan foydalanmoqchiman. . Ma'lumotlar to'plami 4 ta ustundan iborat. Bu ustunlar Ism, Familiya, To'liq ism, va E-pochta .

Amaliyot uchun ish kitobini yuklab oling

VBA diapazonini boshqa varaqga nusxalash.xlsm

Excelning 8 usuli VBA diapazonini boshqa varaqga nusxalash

1. Diapazonni nusxalash Formatli boshqa varaqga

Bir varaqdan boshqa varaqga Format diapazonni nusxalash bo'lsangiz, buni oddiygina VBA .

Bu erda men Ma'lumotlar to'plami varaqdan Formatli varaqgacha bo'lgan diapazonni nusxalash .

<> 0>Protsedurani boshlaymiz,

Avval, Dasturchi yorlig'ini >> tanlang Visual Basic

Shuningdek, VBA ALT + F11 klaviaturasidan ham foydalanishingiz mumkin. 3>muharrir.

Keyin, u Ilovalar uchun Microsoft Visual Basic nomli yangi oyna ochadi.

U yerdan Qo'shish <3-ni oching>>> Module -ni tanlang.

A Moduli ochiladi va ochilgan maydonga quyidagi kodni kiriting >> Makroslarni ko'rish

-ni tanlang➤ muloqot oynasi ochiladi.

Endi, Makro nomidan Copy_Range_BelowLastCell_AnotherSheets -ni tanlang, shuningdek, Makrolar ichidagi ish kitobini tanlang.

Nihoyat, Ishga tushirish tanlangan Makro .

Demak, u tanlangan diapazondan nusxa oladi va uni boshqa varaqning oxirgi qatoridan Qo'yib qo'yadi .

8. VBA diapazonni boshqa ish kitobining oxirgi qatoriga nusxalash

Agar siz nusxalash boshqa ish kitobi varagʻining oxirgi qatorigacha boʻlgan diapazondan siz VBA dan ham foydalanishingiz mumkin.

Bu yerda men Dataset2 dan diapazonni nusxalayman. varaqdan 1-varaq dan 2-kitob lekin birinchi bo'sh bo'lmagan katakdan.

Protsedurani boshlash uchun

Birinchi, Dasturchi yorlig'ini >> Visual Basic-ni tanlang

Shuningdek, VBA muharririni ochish uchun ALT + F11 klaviaturasidan foydalanishingiz mumkin.

Keyin, u Microsoft Visual Basic for Applications-ning yangi oynasini ochadi.

U yerdan Qo'shish <3-ni oching>>> Module -ni tanlang.

A Module ochiladi va ochilgan Module ga quyidagi kodni kiriting.

4946

Bu yerda men Sub protsedurani Copy_Range_BelowLastCell_To_Another_Workbook bu yerda wsCopy va wsDestination bular Ish sahifasi turi, lCopyLastRow va lDestLastRow bu Uzoq turi.

Birinchi navbatda, nusxalanadigan varaq va maqsadli varaq uchun oʻzgaruvchilarni oʻrnatish uchun Set dan foydalaniladi.

Keyingi, nusxa ko'chirish oralig'idagi A ustun ma'lumotlari asosida oxirgi qatorni topish uchun Qator usulidan foydalangan.

Yana, Qator usulidan foydalanilgan. Belgilangan diapazondagi A ustun ma'lumotlari asosida birinchi bo'sh qatorni topish uchun bitta xususiyatni pastga siljitish uchun Ofset ham qo'llaniladi.

Nihoyat, Nusxa olindi Ma'lumotlar to'plami2 varag'i ma'lumotlari Excel VBA nusxa ko'chirish diapazoni boshqa Sheet.xlsm ishchi kitobidan Book2.xlsx Shaxs1 bo'lgan manziliga. 3>.

Endi, Kodni saqlang va ish varag'iga qayting.

Keyin, Ko'rish yorlig'ini >> dan Makrolar >> Makroslarni ko'rish

-ni tanlang➤ muloqot oynasi ochiladi.

Endi, Makro nomidan Copy_Range_BelowLastCell_To_To_Another_Workbook -ni tanlang, shuningdek, Makrolar ichidagi ish kitobini tanlang.

Nihoyat, Ishga tushirish tanlangan Makro .

Demak, u tanlangan diapazonni mavjud varaqdan boshqa ish kitobining oxirgi qatoriga nusxalaydi.

Amaliyot bo'limi

Men Excel VBA nusxa ko'chirish diapazonining ushbu tushuntirilgan usullarini mashq qilish uchun ish kitobida amaliyot varag'ini taqdim etdim. boshqa varaqga.

Xulosa

Ushbu maqolada men 8 xil turdagi oson va tezkor usullarni tushuntirdim.Excel VBA diapazonni boshqa varaqga nusxalash. Ushbu turli xil usullar diapazonni bir varaqdan ikkinchisiga, shuningdek, bir varaqdan boshqa ish kitobiga nusxalashda yordam beradi. Va nihoyat, agar sizda biron bir taklif, g‘oya va fikr-mulohazalaringiz bo‘lsa, quyida izoh qoldiring.

Module.
7091

Bu yerda men Subprotsedurani Copy_Range_withFormat_ToAnother_Sheet

e'lon qildim. Mavjud varaqdan Format bilan varaq nomiga nusxalash uchun B1:E10 oralig'ini oldim.

Bu yerda men Nusxalash dan foydalandim. tanlangan diapazonni nusxalash usuli, Nusxalash usuli har qanday diapazonni Format bilan nusxalaydi.

Nihoyat, Kodni saqlang va ish varag‘iga qayting. .

Keyin, Ko'rish yorlig'ini >> dan Makrolar >> Makroslarni ko'rish

-ni tanlang➤ muloqot oynasi ochiladi.

Endi, Makro nomidan Copy_Range withFormat_ToAnother_Sheet shuningdek, Makrolar ichidagi ish kitobini tanlang.

Nihoyat, Ishga tushirish tanlangan Makro .

Demak, u men tanlagan yangi varaqga Format tanlangan diapazonni Ko'chirib oladi ( Format bilan) .

2. VBA diapazonni boshqa varaqga formatsiz nusxalash

U shuningdek VBA -dan foydalanib Formatsiz diapazonni VBA ishlatmasdan diapazonni boshqa varaqga nusxalash mumkin.

Bu erda men Nusxalash Ma'lumotlar to'plami varaqdan Formatsiz varaqgacha bo'lgan diapazon.

Protsedurani boshlaylik,

Endi Dasturchi -ni oching. tab >> tanlang Visual Basic ( ALT + F11-dan foydalaning)

Keyingi u ochiladi Ilovalar uchun Microsoft Visual Basic.

Keyin Qo'shish-ni oching. >> Module -ni tanlang.

A Module ochiladi va ochilgan Module ga quyidagi kodni kiriting.

3778

Bu erda men Sub protsedurani e'lon qildim Copy_Range_WithoutFormat_Toanother_Sheet

Men diapazonni oldim B1:E10 mavjud varaqdan varaq nomiga Formatsiz nusxa ko'chirish uchun.

Bu erda men tanlangan diapazondan nusxa olish uchun Copy usulidan foydalandim. Paste:=xlPasteValues ​​ PasteSpecial usulida eslatib o'tilgan, shunda u formatni emas, balki tanlangan diapazonning faqat Qiymatlarini qo'yadi.

Nihoyat. , Kodni saqlang va ish varag'iga qayting.

Keyin, Ko'rish yorlig'ini >> dan Makrolar >> Makroslarni ko'rish

-ni tanlang➤ muloqot oynasi ochiladi.

Endi, Makro nomidan Copy_Range_WithoutFormat_Toanother_Sheet va shuningdek, Makrolar ichidagi ish kitobini tanlang.

Nihoyat, tanlangan Makro ni ishga tushiring.

Shunday qilib, u tanlangan diapazondan faqat Qiymatlar no Format<3 bilan nusxalanadi>.

3. Diapazonni formati va ustun kengligi

Ba'zan bo'lgan boshqa varaqga nusxalash Har qanday tanlangan diapazondan nusxa oling, buning uchun siz Format va Ustun kengligi bilan diapazondan Nusxalash mumkin.

Bu yerda, Men Ma'lumotlar to'plami varaqdan Format vaamp; Ustun kengligi varaq.

Topshiriqni VBA ,

yordamida bajarish tartibini koʻrish uchun, avvalo, Tuzuvchi yorligʻini >> Visual Basic-ni tanlang

Shuningdek, VBA muharririni ochish uchun ALT + F11 klaviaturasidan foydalanishingiz mumkin.

Keyin, u Microsoft Visual Basic for Applications-ning yangi oynasini ochadi.

U yerda Qo'shish -ni oching. >> Module -ni tanlang.

A Module ochiladi va ochilgan Module ga quyidagi kodni kiriting.

2027

Bu yerda men Sub protsedurani Copy_Range to_Another_sheet_with_FormatAndColumnWidth

diapazonni oldim B1:E10 mavjud varaqdan maqsadli varaq nomiga nusxalash uchun Format & Ustun kengligi .

Bu yerda men tanlangan diapazonni nusxalash uchun Nusxalash usulidan foydalandim. Bundan tashqari, men Paste:=xlPasteColumnWidths ni eslatib o'tganim uchun PasteSpecial usulidan foydalandim, shunda u tanlangan diapazonni Format va Ustun kengligi bilan birga joylashtiradi. .

Nihoyat, Kodni saqlang va ish varag'iga qayting.

Keyin, Ko'rish yorlig'ini >> dan Makrolar >> Makroslarni ko'rish

-ni tanlang➤ muloqot oynasi ochiladi.

Endi, Makro nomidan Range_to_Another_sheet_with_FormatAndColumnWidth nusxalash va Makrolar ichidagi ish kitobini ham tanlang.

Nihoyat, tanlanganni ishga tushiring Makro .

Natijada, u Format va Ustun kengligi bilan tanlangan diapazondan nusxalanadi .

4. VBA Formula bilan diapazonni boshqa varaqga nusxalash

Agar sizda ma'lumotlar to'plamida biron bir formula bo'lsa, siz nusxa olishni xohlaysiz. Hech qisi yo'q; tashvishga o'rin yo'q! Siz Formula ni oʻz ichiga olgan diapazonni formulani oʻzgarmagan holda boshqa varaqga koʻchirishingiz mumkin.

Bu yerda men Maʼlumotlar toʻplami varagʻi diapazonidan nusxa olaman. ga Formula bilan varaq

Protsedurani boshlaylik,

Boshlash uchun Dasturchi yorlig'ini >> Visual Basic-ni tanlang ( siz ALT + F11 klaviaturasidan ham foydalanishingiz mumkin)

Keyin, u ochiladi Microsoft Visual Basic for Applications.

U yerdan Insert >> Module -ni tanlang.

A Module ochiladi va ochilgan Module ga quyidagi kodni kiriting.

2264

Bu yerda men Sub protsedurani Formula_ToAnother_Sheet-ga_nusxalash_oraliqini e'lon qildim

Men oralig'ini oldim B1:E10 mavjud varaqdan maqsadli varaq nomiga nusxalash uchun Formula bilan .

Bu yerda men tanlangan diapazonni nusxalash uchun Copy usulidan foydalandim. Men PasteSpecial usulidan ham foydalandim, u erda Paste:=xlPasteFormulas ni eslatib o'tgan edim, shunda u tanlangan diapazon bilan birga Formulalar ni ham olib yuradi.

Nihoyat. , Kodni saqlang va ish varag'iga qayting.

Keyin, Ko'rishni oching. tab >> dan Makrolar >> Makroslarni ko'rish

-ni tanlang➤ muloqot oynasi ochiladi.

Endi, Makro nomidan Range_withFormula_ToAnother_Sheet-ga nusxalash shuningdek, Makrolar ichidagi ishchi kitobni tanlang.

Nihoyat, Ishga tushirish tanlangan Makro .

Shunday qilib, u tanlangan barcha hujayra diapazonlarini Formulalar bilan nusxalaydi.

Shunga o'xshash o'qishlar:

  • VBA diapazoni ofsetini qanday ishlatish kerak (11 usul)
  • Exceldagi diapazondagi har bir katak uchun VBA (3 usul)
  • Excelda VBA diapazon ob'ektidan qanday foydalanish kerak (5 xususiyat)

5. Avtomatik moslash bilan diapazonni boshqa varaqga nusxalash

Diapazonni boshqa varaqga ko'chirishda siz AutoFit usulidan ham foydalanishingiz mumkin VBA to AutoFit yangi varaqdagi nusxalangan diapazonda.

Bu yerda men Ma'lumotlar to'plamidan diapazondan nusxa olaman varaqdan AutoFit sheet

Protsedurani boshlaymiz,

Avval Dasturchi yorlig'ini >> Visual Basic-ni tanlang

Shuningdek, VBA muharririni ochish uchun ALT + F11 klaviaturasidan foydalanishingiz mumkin.

Keyin, u Microsoft Visual Basic for Applications oynasini ochadi.

Keyin, Insert &gt-ni oching. ;> Module -ni tanlang.

A Moduli ochiladi va ochilgan maydonga quyidagi kodni kiriting Module .

6218

Bu erda men Sub protsedurani Copy_Range_withFormat_AutoFit

e'lon qildim. Birinchidan, men Dataset ish varag'ini tanladim. Keyin mavjud varaqdan AutoFit nomli maqsadli varaqga nusxalash uchun B1:E10 diapazoni oldim.

Bu yerda men Nusxalash dan foydalandim. tanlangan diapazonni nusxalash usuli va AutoFit usuli berilgan ustunlarni avtomatik moslashtiradi B:E .

Nihoyat, Saqlash kod va o'ting ish varag'iga qayting.

Keyin, Ko'rish yorlig'ini >> dan Makrolar >> Makroslarni ko'rish

-ni tanlang➤ muloqot oynasi ochiladi.

Endi, Makro nomidan Copy_Range_withFormat_AutoFit shuningdek, Makrolar ichidagi ishchi kitobni tanlang.

Nihoyat, Ishga tushirish tanlangan Makro .

Demak, u tanlangan diapazondan yangi varaqga nusxa ko'chiradi va shuningdek, Avtomatik moslash ustunlarni.

6. VBA diapazonni boshqa ish kitobiga nusxalash

Agar xohlasangiz, diapazonni bir varaqdan boshqa varaqga nusxalash ham mumkin. boshqa ish kitobining.

Bu yerda men Ma'lumotlar to'plami varaqdan Ma'lumotlar to'plami varaqdan 1-varaq ga Kitob1 oralig'idan nusxa olaman. ish kitobi.

Protsedurani boshlaymiz,

Avval Dasturchi yorlig'ini >> Visual Basic-ni tanlang (y siz ALT + F11 klaviaturasidan ham foydalanishingiz mumkin)

Keyin, u ochiladi Microsoft VisualIlovalar uchun asosiy.

Keyin, Insert >> Module -ni tanlang.

A Module ochiladi va ochilgan Module ga quyidagi kodni kiriting.

5982

Bu yerda men Sub protsedurani e'lon qildim Copy_Range_WithFormat_Toanother_WorkBook

Men <2 oralig'ini oldim>B3:E10 varaq nomidan Ma'lumotlar to'plami mavjud varaqdan yangi ishchi kitob nomiga Kitob1 va varaq nomi Vaq1 ga nusxalash uchun.

Bu erda men tanlangan diapazonni yangi ish kitobiga nusxalash uchun Nusxalash usulidan foydalandim.

Nihoyat, Kodni saqlang va ish varag'iga qayting.

Keyin, Koʻrish yorligʻini >> dan Makrolar >> Makroslarni ko'rish

-ni tanlang➤ muloqot oynasi ochiladi.

Endi, Makro nomidan Copy_Range_WithFormat_Toanother_WorkBook ni, shuningdek, Makrolar ichidagi ishchi kitobni tanlang.

Nihoyat, Ishga tushirish tanlangan Makro .

Endi u Ma'lumotlar to'plami varaqdan tanlangan diapazonni boshqa ish kitobiga ko'chiradi.

7. Diapazonni boshqa varaqning oxirgi qatoriga nusxalash

Har qanday holatda, agar siz diapazonni boshqa varaqga nusxalashni xohlasangiz ma'lum bir hujayradan yoki oxirgi katakdan uni VBA yordamida amalga oshirishingiz mumkin.

Protseduraga kirishdan oldin shuni aytmoqchimanki, men To'liq ism, elektron pochta, va Manzil .

Avval Ma'lumotlar to'plami2 varag'ini kuzatamiz.

Mana, Oxirgi katak ostidagi varaq.

Bu yerda men dan diapazonni nusxalayman. 2>Ma'lumotlar to'plami2 varaqdan Oxirgi katakdan pastga, lekin birinchi bo'sh bo'lmagan katakdan.

Boshlash uchun Dasturchi yorlig'ini >> Visual Basic-ni tanlang

Keyingi u Microsoft Visual Basic for Applications-ni ochadi.

Keyin, oching. Qo'shish >> Module -ni tanlang.

A Module ochiladi va ochilgan Module ga quyidagi kodni kiriting.

6746

Bu erda men Sub protsedurani Copy_Range_BelowLastCell_AnotherSheetsni e'lon qildim

Avval men <2 varaqni tanladim>Dataset2 va keyin Row usulini Oxirgi qatorni hisoblash uchun ishlatdi va hisoblangan qatorni lr da saqladi.

Keyin olingan diapazoni A2:C & lr mavjud varaqdan maqsadli varaq nomiga nusxa ko'chirish uchun So'nggi katakdan pastda .

Yana Qator usulidan Oxirgisini hisoblash uchun foydalanilgan. Boshqa varaqning qatori Oxirgi katak ostida deb nomlangan va hisoblangan qatorni lrAnotherSheet da saqlagan.

Bu yerda men Nusxalash usulidan foydalandim tanlangan diapazonni nusxalash uchun AutoFit usuli berilgan ustunlarni avtomatik moslashtiradi A:C .

Nihoyat, Kodni saqlang va orqaga qayting ish varag'iga.

Keyin, Ko'rish yorlig'ini >> Makrolardan

Hugh West - bu sohada 10 yildan ortiq tajribaga ega bo'lgan yuqori tajribali Excel treneri va tahlilchisi. Buxgalteriya hisobi va moliya yo‘nalishi bo‘yicha bakalavr va biznes boshqaruvi bo‘yicha magistr darajasiga ega. Xyu o'qitishga ishtiyoqi bor va unga amal qilish va tushunish oson bo'lgan o'ziga xos o'qitish usulini ishlab chiqdi. Uning Excel bo'yicha ekspert bilimlari butun dunyo bo'ylab minglab talabalar va mutaxassislarga o'z malakalarini oshirishga va o'z martabalarida muvaffaqiyat qozonishlariga yordam berdi. Xyu o'z blogi orqali o'z bilimlarini dunyo bilan baham ko'radi, jismoniy shaxslar va korxonalarga o'z salohiyatini to'liq ro'yobga chiqarishga yordam berish uchun bepul Excel darsliklari va onlayn treninglarni taklif qiladi.