Mündəricat
Ehtiyacınız olan zaman diapazonu bir vərəqdən digər vərəqə və ya iş kitabına köçürə bilərsiniz. Kopyalama və yapışdırmanın müxtəlif növləri var. Bu məqalədən sonra siz Excel VBA nüsxə diapazonundan başqa vərəqə istifadə etməyin müxtəlif yolları ilə tanış olacaqsınız.
İzahı canlı etmək üçün mən konkret şəxslərin şəxsi məlumatlarını əks etdirən nümunə verilənlər toplusundan istifadə edəcəyəm. . Verilənlər dəsti 4 sütundan ibarətdir. Bu sütunlar Ad, Soyad, Tam Ad, və E-poçt dur.
Təcrübə üçün İş Kitabını Yükləyin
VBA Diapazonu Başqa Vərəqə Kopyalayın.xlsm
Excel-in 8 Yolu VBA Aralığı Başqa Vərəqə Kopyalayın
1. Aralığı kopyalayın
Formatlı Başqa Vərəqə Format ilə diapazonu bir vərəqdən digər vərəqə Kopyala istədiyiniz zaman bunu sadəcə olaraq
Burada mən Dataset vərəqindən Formatlı vərəqə aralığı kopyalayacağam.
Gəlin prosedura başlayaq,
İlk olaraq Tərtibatçı tabını açın >> seçin Visual Basic
Siz həmçinin VBA ALT + F11 klaviaturasından istifadə edə bilərsiniz. 3>redaktor.
Sonra, Microsoft Visual Basic for Applications adlı yeni pəncərə açacaq.
Oradan Daxil et <3-ü açın>>> Module seçin.
A Modul açılacaq, sonra açılan yerə aşağıdakı kodu daxil edin >> seçin Makrolara baxın
➤ dialoq qutusu açılacaq.
İndi Makro adından Copy_Range_BelowLastCell_AnotherSheets seçin, həmçinin Makrolar daxilindəki iş kitabını seçin.
Nəhayət, Çalışdırın seçilmiş Makro .
Beləliklə, o, Seçilmiş diapazonu kopyalayacaq və onu başqa vərəqin son sətirindən Yapışdıracaq .
8. VBA Aralığı Başqa İş Kitabının Son Sırasına Kopyalayın
Əgər siz Kopyala digər iş kitabı vərəqinin son cərgəsinə qədər olan diapazonu siz həmçinin VBA -dən istifadə edə bilərsiniz.
Burada Dataset2-dən aralığı kopyalayacağam vərəq Kitab2-dən vərəq 1 lakin ilk boş olmayan xanadan.
Proseduru başlamaq üçün
İlk olaraq, Developer tab >> seçin Visual Basic
Siz həmçinin VBA redaktorunu açmaq üçün ALT + F11 klaviaturasından istifadə edə bilərsiniz.
Sonra o, Proqramlar üçün Microsoft Visual Basic-in yeni pəncərəsini açacaq.
Oradan Daxil et <3-ü açın>>> Module seçin.
A Module açılacaq, sonra açılmış Module aşağıdakı kodu yazın.
2791
Burada mən Alt proseduru Copy_Range_BelowLastCell_To_Another_Workbook burada wsCopy və wsDestination İş vərəqi növü, lCopyLastRow və lDestLastRow Uzun növdür.
İlk olaraq, kopyalanacaq vərəq və təyinat vərəqi üçün dəyişənləri təyin etmək üçün Set dən istifadə olunur.
Sonrakı, kopyalama diapazonunda A sütununun məlumatlarına əsaslanaraq son cərgəni tapmaq üçün Sıra metodundan istifadə etdi.
Yenə də Sətrə metodundan istifadə etdi. təyinat diapazonunda A sütununun məlumatlarına əsaslanan ilk boş cərgəni tapmaq üçün bir xassə aşağı hərəkət etmək üçün Ofset dən də istifadə olunur.
Nəhayət, Kopyala Dataset2 vərəqinin datası Excel VBA Copy Range to another Sheet.xlsm iş kitabından Cədvəl1 iş kitabının təyinat yerinə Book2.xlsx .
İndi Kodu saxlayın və iş vərəqinə qayıdın.
Sonra, Görünüş tab >> Makrolardan >> seçin Makrolara baxın
➤ dialoq qutusu açılacaq.
İndi Makro adından Copy_Range_BelowLastCell_To_Another_Workbook seçin, həmçinin Makrolar daxilindəki iş kitabını seçin.
Nəhayət, Çalışdırın seçilmiş Makro .
Beləliklə, o, Seçilmiş diapazonu mövcud vərəqdən başqa bir iş kitabının son cərgəsinə kopyalayacaq.
Təcrübə Bölməsi
Mən Excel VBA kopiya diapazonunun bu izah edilmiş yollarını tətbiq etmək üçün iş kitabında təcrübə vərəqini təqdim etmişəm başqa vərəqə.
Nəticə
Bu məqalədə mən 8 müxtəlif növ asan və sürətli yolu izah etdim.Excel VBA diapazonunu başqa vərəqə köçürün. Bu müxtəlif üsullar sizə diapazonu bir vərəqdən digərinə və həmçinin bir vərəqdən digər iş kitabına köçürməyə kömək edəcək. Nəhayət, hər hansı bir təklifiniz, ideyanız və rəyiniz varsa, lütfən, aşağıda şərh etməkdən çekinmeyin.
Modul.1503
Burada mən Alt proseduru Copy_Range withFormat_ToAnother_Sheet
elan etdim. Mövcud vərəqdən vərəqin adına Formatla köçürmək üçün B1:E10 diapazonunu götürdüm.
Burada Kopyala funksiyasından istifadə etdim. seçilmiş diapazonu kopyalamaq üçün metod, Kopyala metodu istənilən diapazonu Format ilə kopyalayır.
Nəhayət, Kodu yadda saxla və iş vərəqinə qayıdın .
Sonra, Görünüş tab >> Makrolardan >> seçin Makrolara baxın
➤ dialoq qutusu açılacaq.
İndi Makro adından Kopyala_Range_withFormat_ToAnother_Sheet həmçinin Makrolar daxilindəki iş kitabını seçin.
Nəhayət, Çalışdırın seçilmiş Makro .
Beləliklə, o, Seçilmiş diapazonu Format ilə mənim seçdiyim yeni vərəqə kopyalayacaq ( Formatla) .
2. VBA Aralığı Formatsız Başqa Vərəqə Kopyalayın
O, həmçinin VBA istifadə edərək Format aralığı aralığı başqa vərəqə kopyalamaq mümkündür.
Burada Kopyala > Məlumat dəsti vərəqindən Formatsız vərəqə qədər diapazon.
Gəlin prosedura başlayaq,
İndi Tərtibatçı açın nişanı >> seçin Visual Basic ( ALT + F11 istifadə edin)
Sonra açılacaq Microsoft Visual Basic for Applications.
Sonra Daxil et >> Module seçin.
A Module açılacaq, sonra açılmış Module aşağıdakı kodu yazın.
1116
Burada Alt proseduru elan etdim Copy_Range_WithoutFormat_Toanother_Sheet
Mən diapazonu götürdüm B1:E10 mövcud vərəqdən vərəqin adına kopyalamaq üçün Formatsız .
Burada mən seçilmiş diapazonu kopyalamaq üçün Kopyala metodundan istifadə etdim, həm də Paste:=xlPasteValues PasteSpecial metodunda qeyd edildi ki, o, formatı deyil, yalnız Dəyərləri yapışdırsın.
Nəhayət. , Kodu yadda saxlayın və iş vərəqinə qayıdın.
Sonra, Görünüş tab >> Makrolardan >> seçin Makrolara baxın
➤ dialoq qutusu açılacaq.
İndi Makro adından Copy_Range_WithoutFormat_Toanother_Sheet və həmçinin Makrolar daxilindəki iş kitabını seçin.
Nəhayət, Seçilmiş Makro -u işə salın.
Beləliklə, o, Seçilmiş diapazonu yalnız Dəyərlər xeyr Format<3 ilə kopyalayacaq>.
3. Diapazonu Format və Sütun Eni ilə Başqa Vərəqə kopyalayın
Bəzən siz hər hansı seçilmiş diapazonu olduğu kimi kopyalayın, bunun üçün siz Format və Sütun Eni ilə diapazonu kopyalaya bilərsiniz.
Burada, Mən Dataset vərəqindən Format & Sütun eni vərəq.
VBA ,
-dən istifadə edərək tapşırığı yerinə yetirmək üçün prosedura baxmaq üçün əvvəlcə Developer tab >> seçin Visual Basic
Siz həmçinin VBA redaktorunu açmaq üçün ALT + F11 klaviaturasından istifadə edə bilərsiniz.
Sonra o, Proqramlar üçün Microsoft Visual Basic-in yeni pəncərəsini açacaq.
Orada Daxil et bölməsini açın. >> Module seçin.
A Module açılacaq, sonra açılmış Module aşağıdakı kodu yazın.
4475
Burada mən Alt proseduru elan etdim Copy_Range to_Another_sheet_with_FormatAndColumnWidth
Mən diapazonunu götürdüm B1:E10 mövcud vərəqdən təyinat vərəqinin adına köçürmək üçün Format & Sütun eni .
Burada mən seçilmiş diapazonu kopyalamaq üçün Kopyalama metodundan istifadə etdim. Mən həmçinin Paste:=xlPasteColumnWidths qeyd etdiyim PasteSpecial metodundan istifadə etdim ki, o, seçilmiş diapazonu Format və Sütun Genişliyi ilə birlikdə yapışdırsın. .
Nəhayət, Kodu saxlayın və iş vərəqinə qayıdın.
Sonra, Görünüş tab >> Makrolardan >> seçin Makrolara baxın
➤ dialoq qutusu açılacaq.
İndi Makro adından FormatAndColumnWidth ilə_Başqa_vərəqə_Kopyala_Range və həmçinin Makrolar daxilindəki iş kitabını seçin.
Nəhayət, seçilmişi işə salın Makro .
Nəticədə o, Format və Sütun Eni ilə seçilmiş diapazonu Kopyalayacaq .
4. VBA Düsturla Aralığı Başqa Vərəqə Kopyalayın
Verilənlər dəstinizdə kopyalamaq istədiyiniz hər hansı düstur varsa. Narahat olmayın! Siz Formula dən ibarət olan diapazonu düsturu toxunulmaz saxlayaraq başqa vərəqə kopyalaya bilərsiniz.
Burada mən Dataset vərəqindən aralığı kopyalayacağam Formula vərəqinə
Gəlin prosedura başlayaq,
Başlamaq üçün Developer tab >> seçin Visual Basic ( siz həmçinin ALT + F11 klaviaturasından da istifadə edə bilərsiniz)
Sonra, o açacaq Microsoft Visual Basic for Applications.
Oradan Insert >> Module seçin.
A Module açılacaq, sonra açılmış Module aşağıdakı kodu yazın.
9758
Burada mən Alt proseduru elan etdim Copy_Range withFormula_ToAnother_sheet
Mən diapazonunu götürdüm B1:E10 mövcud vərəqdən təyinat vərəqinin adına Formula ilə köçürmək.
Burada mən seçilmiş diapazonu kopyalamaq üçün Kopyala metodundan istifadə etdim. Mən Paste:=xlPasteFormulaları qeyd etdiyim PasteSpecial metodundan da istifadə etdim ki, o, seçilmiş diapazonla birlikdə Formulaları daşısın.
Nəhayət. , Kodu saxlayın və iş vərəqinə qayıdın.
Sonra Görünüşü açın tab >> Makrolardan >> seçin Makrolara baxın
➤ dialoq qutusu açılacaq.
İndi Makro adından Formula_ToAnother_Sheet_ilə_Kopyala_Range həmçinin Makrolar daxilindəki iş kitabını seçin.
Nəhayət, Çalışdırın seçilmiş Makro .
Beləliklə, o, bütün seçilmiş xana diapazonlarını Formullar ilə kopyalayacaq.
Oxşar oxunuşlar:
- VBA diapazonunun ofsetindən necə istifadə etməli (11 yol)
- Excel-də diapazondakı hər bir hüceyrə üçün VBA (3 üsul)
- Excel-də VBA diapazonunun obyektindən necə istifadə etməli (5 xüsusiyyət)
5. Avtomatik uyğunlaşdırma ilə diapazonu başqa vərəqə kopyalayın
diapazonu başqa vərəqə kopyalayarkən siz AutoFit metodundan da istifadə edə bilərsiniz. VBA -dən AutoFit yeni vərəqdə kopyalanan diapazonda.
Burada Dataset-dən Kopyalayacağam aralığı vərəqdən AutoFit sheet
Gəlin prosedura başlayaq,
İlk olaraq Tərtibatçı tabını açın >> seçin Visual Basic
Siz həmçinin VBA redaktorunu açmaq üçün ALT + F11 klaviaturasından istifadə edə bilərsiniz.
Sonra o, Proqramlar üçün Microsoft Visual Basic pəncərəsini açacaq.
Sonra Daxil et > açın. ;> Module seçin.
A Modul açılacaq, sonra açılan yerə aşağıdakı kodu daxil edin Modul .
4437
Burada mən Alt proseduru Copy_Range_withFormat_AutoFit
elan etdim Əvvəlcə Dataset iş vərəqini seçdim. Sonra B1:E10 mövcud vərəqdən AutoFit adlı təyinat cədvəlinə köçürmək üçün diapazonu götürdüm.
Burada mən Kopyala funksiyasından istifadə etdim. seçilmiş diapazonu kopyalamaq üçün metod və AutoFit metodu verilmiş sütunları avtomatik uyğunlaşdıracaq B:E .
Nəhayət, Saxla kodu saxlayın və gedin iş vərəqinə qayıdın.
Sonra, Görünüş tab >> Makrolardan >> seçin Makrolara baxın
➤ dialoq qutusu açılacaq.
İndi Makro adından Copy_Range_withFormat_AutoFit həmçinin Makrolar daxilindəki iş kitabını seçin.
Nəhayət, Çalışdırın seçilmiş Makro .
Beləliklə, o, seçilmiş diapazonu yeni vərəqə kopyalayacaq və həmçinin Avtomatik Sığdır sütunları.
6. VBA Aralığı Başqa İş Kitabına Kopyalayın
İstəsəniz, diapazonu bir vərəqdən digər vərəqə Kopyalaya bilərsiniz fərqli iş kitabının.
Burada, Məlumat dəsti vərəqindən Kitab1 ün Cədvəl1 arasını Kopyalayacağam iş dəftəri.
Gəlin prosedura başlayaq,
İlk olaraq Tərtibatçı tab >> Visual Basic-i seçin (y siz ALT + F11 klaviaturasından da istifadə edə bilərsiniz)
Sonra, o açılacaq Microsoft VisualTətbiqlər üçün Əsas.
Sonra, Daxil et >> Module seçin.
A Module açılacaq, sonra açılmış Module aşağıdakı kodu yazın.
5116
Burada mən Alt proseduru elan etdim Copy_Range_WithFormat_Toanother_WorkBook
Mən <2 diapazonunu götürdüm>B3:E10 vərəq adından Dataset mövcud vərəqdən yeni iş kitabının adına kopyalamaq üçün Kitab1 və vərəq adına Cədvəl1 .
Burada mən seçilmiş diapazonu yeni iş kitabına köçürmək üçün Kopyala üsulundan istifadə etdim.
Nəhayət, Kodu saxlayın və iş vərəqinə qayıdın.
Sonra, Görünüş tab >> Makrolardan >> seçin Makrolara baxın
➤ dialoq qutusu açılacaq.
İndi Makro adından Copy_Range_WithFormat_Toanother_WorkBook seçin, həmçinin Makrolar daxilindəki iş kitabını seçin.
Nəhayət, Çalışdırın seçilmiş Makro .
İndi o, Məlumat dəsti vərəqindən seçilmiş diapazonu başqa iş kitabına kopyalayacaq.
7. Aralığı başqa vərəqin sonuncu cərgəsinə kopyalayın
Hər halda, aralığı başqa vərəqə kopyalamaq istəyirsinizsə müəyyən bir xanadan və ya sonuncu xanadan bunu VBA istifadə edərək edə bilərsiniz.
Prosedura daxil olmamışdan əvvəl sizə demək istəyirəm ki, mən <-dən ibarət iki yeni vərəq götürmüşəm. 2> Tam adı, e-poçt ünvanı, və Ünvan .
Gəlin əvvəlcə Dataset2 vərəqini müşahidə edək.
Budur Aşağıdakı Son Xana vərəq.
Buradan aralığı kopyalayacağam. 2>Dataset2 vərəqini Son Xanədən Aşağı lakin ilk boş olmayan xanadan.
Başlamaq üçün Tərtibatçı tabını açın >> seçin Visual Basic
Sonra o, Microsoft Visual Basic for Applications-ı açacaq.
Sonra, açın. Daxil edin >> Module seçin.
A Module açılacaq, sonra açılmış Module aşağıdakı kodu yazın.
1608
Burada mən Alt proseduru elan etdim Copy_Range_BelowLastCell_AnotherSheets
İlk olaraq vərəqi seçdim Məlumat dəsti2 və sonra Sonuncu sətir -i saymaq üçün Sətir metodundan istifadə etdi və hesablanmış cərgəni lr -də saxladı.
Sonra götürüldü diapazonu A2:C & lr mövcud vərəqdən təyinat vərəqinin adına kopyalamaq üçün Axırıncı xananın altında .
Yenə də Sonuncunu saymaq üçün Sətr üsulundan istifadə edin Digər vərəqin Son Xanədən Aşağı adlı sətiri və hesablanmış cərgəni lrAnotherSheet -də saxladım.
Burada mən Kopyala metodundan istifadə etdim seçilmiş diapazonu kopyalamaq və AutoFit metodu verilmiş sütunları avtomatik uyğunlaşdıracaq A:C .
Nəhayət, Saxla kodu və geri qayıdın iş vərəqinə.
Sonra, Görünüş tab >> Makrolardan