Excel VBA diapazonunu başqa bir vərəqə kopyalayın (8 ən asan yol)

  • Bunu Paylaş
Hugh West

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, 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 VBA .

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 wsDestination İş vərəqi növü, lCopyLastRow 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 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 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 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ı, Ü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

Hugh West sənayedə 10 ildən çox təcrübəyə malik yüksək təcrübəli Excel təlimçisi və analitikidir. Mühasibat uçotu və maliyyə üzrə bakalavr dərəcəsi və Biznesin idarə edilməsi üzrə magistr dərəcəsinə malikdir. Hugh tədrisə həvəslidir və izləmək və başa düşmək asan olan unikal tədris yanaşması işləyib hazırlayıb. Onun Excel üzrə ekspert biliyi bütün dünyada minlərlə tələbə və mütəxəssisə öz bacarıqlarını təkmilləşdirməyə və karyeralarında üstün olmağa kömək etmişdir. Hugh öz bloqu vasitəsilə biliklərini dünya ilə bölüşür, fərdlərə və müəssisələrə öz potensiallarını tam şəkildə çatdırmaq üçün pulsuz Excel dərsləri və onlayn təlimlər təklif edir.