İçindekiler
İhtiyaç duyduğunuzda bir aralığı bir sayfadan başka bir sayfaya veya çalışma kitabına kopyalayabilirsiniz. Farklı kopyalama ve yapıştırma türleri vardır. Bu makaleyi takiben, Excel VBA kopyalama aralığını başka bir sayfaya kullanmanın farklı yollarını öğreneceksiniz.
Açıklamayı canlı hale getirmek için, belirli kişilerin kişisel bilgilerini temsil eden örnek bir veri kümesi kullanacağım. Veri kümesinde 4 sütun vardır. Adı, Soyadı, Tam Adı, ve E-posta .
Pratik Yapmak İçin Çalışma Kitabını İndirin
VBA Aralığı Başka Bir Sayfaya Kopyala.xlsmExcel VBA Aralığı Başka Bir Sayfaya Kopyalamanın 8 Yolu
1. Bir Aralığı Biçim ile Başka Bir Sayfaya Kopyalama
Ne zaman istersen Anlaşıldı ile bir sayfadan başka bir sayfaya bir aralık Biçim kullanarak basitçe yapabilirsiniz. VBA .
İşte, ben Anlaşıldı arasında bir aralık Veri Seti sayfasına WithFormat levha.
Prosedürü başlatalım,
İlk önce Geliştirici tab>> seçin Visual Basic
Aynı zamanda ALT + F11 açmak için klavye VBA Editör.
Ardından, şu adda yeni bir pencere açılacaktır Uygulamalar için Microsoft Visual Basic.
Oradan, aç Ekleme >> seçin Modül .
A Modül açılacaktır, ardından açılan yere aşağıdaki kodu yazın Modül .
Sub Copy_Range_withFormat_ToAnother_Sheet() Range("B1:E10").Copy Worksheets("WithFormat").Range("B1:E10") End Sub
Burada, beyan ettim Alt prosedür Aralık_Biçimi_ile_Başka_Sayfaya_ Kopyala
Menzil aldım. B1:E10 mevcut sayfadan sayfa adına kopyalamak için WithFormat .
Burada, ben Anlaşıldı yöntemini seçili aralığı kopyalamak için kullanabilirsiniz, Anlaşıldı metodu ile herhangi bir aralığı kopyalar. Biçim .
Sonunda, Kaydet kodu girin ve çalışma sayfasına geri dönün.
Daha sonra Görünüm tab>> dan Makrolar >> seçin Makroları Görüntüle
➤ A iletişim kutusu açılır.
Şimdi Makro adı seçin Aralık_Biçimi_ile_Başka_Sayfaya_ Kopyala içindeki çalışma kitabını da seçin Makrolar içinde .
Sonunda, Koşmak seçilen Makro .
Bu nedenle, bu Anlaşıldı ile seçilen aralık Biçim seçtiğim yeni sayfaya ( WithFormat) .
2. VBA Bir Aralığı Biçimlendirmeden Başka Bir Sayfaya Kopyalama
Ayrıca şunları yapmak da mümkündür Anlaşıldı olmadan bir aralığı başka bir sayfaya Biçim kullanarak VBA .
İşte, ben Anlaşıldı arasında bir aralık Veri Seti sayfasına WithoutFormat levha.
Prosedüre başlayalım,
Şimdi, açın Geliştirici tab>> seçin Visual Basic ( kullanın ALT + F11)
Daha sonra açılacak Uygulamalar için Microsoft Visual Basic.
Ardından, açın Ekleme >> seçin Modül .
A Modül açılacaktır, ardından açılan yere aşağıdaki kodu yazın Modül .
Sub Copy_Range_WithoutFormat_Toanother_Sheet() Range("B1:E10").Copy Sheets("WithoutFormat").Range("B1").PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
Burada, beyan ettim Alt prosedür Aralık_Biçimsiz_Başka_Sayfaya_Kopyala
Menzil aldım. B1:E10 mevcut sayfadan sayfa adına kopyalamak için WithoutFormat .
Burada, ben Anlaşıldı metodunu seçili aralığı kopyalamak için kullanırken aynı zamanda Yapıştır:=xlPasteValues içinde PasteSpecial metodunu sadece yapıştıracak şekilde Değerler biçimini değil, seçilen aralığın biçimini belirler.
Sonunda, Kaydet kodu girin ve çalışma sayfasına geri dönün.
Daha sonra Görünüm tab>> dan Makrolar >> seçin Makroları Görüntüle
➤ A iletişim kutusu açılır.
Şimdi Makro adı seçin Aralık_Biçimsiz_Başka_Sayfaya_Kopyala içindeki çalışma kitabını seçin ve ayrıca Makrolar içinde .
Sonunda, Koşmak seçilen Makro .
Böylece, bu Anlaşıldı ile seçilen aralığı yalnızca Değerler Hayır Biçim .
3. Bir Aralığı Biçim ve Sütun Genişliği ile Başka Bir Sayfaya Kopyalama
Bazen şunları yapmak isteyebilirsiniz Anlaşıldı olduğu gibi seçilen herhangi bir aralık, bunun için Anlaşıldı ile bir aralık Biçim ve Sütun Genişliği .
İşte, ben Anlaşıldı arasında bir aralık Veri Seti sayfasına Biçim & Sütun Genişliği levha.
Kullanarak görevi yapmak için prosedürü görmek için VBA ,
İlk önce Geliştirici tab>> seçin Visual Basic
Aynı zamanda ALT + F11 açmak için klavye VBA Editör.
Ardından, yeni bir pencere açacaktır Uygulamalar için Microsoft Visual Basic.
Orada, aç Ekleme >> seçin Modül .
A Modül açılacaktır, ardından açılan yere aşağıdaki kodu yazın Modül .
Sub Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth() Range("B1:E10").Copy Destination:=Sheets("Format & ColumnWidth").Range("B1") Range("B1:E10").Copy Sheets("Format & ColumnWidth").Range("B1").PasteSpecial Paste:=xlPasteColumnWidths, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False End Sub
Burada, beyan ettim Alt prosedür Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth
Menzil aldım. B1:E10 mevcut sayfadan hedef sayfa adına kopyalamak için Biçim & Sütun Genişliği .
Burada, ben Anlaşıldı metodunu seçili aralığı kopyalamak için kullandım. PasteSpecial bahsettiğim yöntem Yapıştır:=xlPasteColumnWidths ile birlikte seçilen aralığı yapıştırması için Biçim ve Sütun Genişliği .
Sonunda, Kaydet kodu girin ve çalışma sayfasına geri dönün.
Daha sonra Görünüm tab>> dan Makrolar >> seçin Makroları Görüntüle
➤ A iletişim kutusu açılır.
Şimdi Makro adı seçin Copy_Range_to_Another_Sheet_with_FormatAndColumnWidth içindeki çalışma kitabını seçin ve ayrıca Makrolar içinde .
Sonunda, Koşmak seçilen Makro .
Sonuç olarak Anlaşıldı ile seçilen aralık Biçim ve Sütun Genişliği .
4. VBA Formül ile Bir Aralığı Başka Bir Sayfaya Kopyalama
Veri kümenizde kopyalamak istediğiniz herhangi bir formül varsa Endişelenmeyin! Aşağıdakileri içeren aralığı kopyalayabilirsiniz Formül formülü olduğu gibi koruyarak başka bir sayfaya aktarın.
İşte, ben Anlaşıldı arasında bir aralık Veri Seti sayfasına İleFormül levha
Prosedüre başlayalım,
Başlangıç olarak Geliştirici tab>> seçin Visual Basic ( da kullanabilirsiniz ALT + F11 klavye)
Daha sonra açılacak Uygulamalar için Microsoft Visual Basic.
Oradan, aç Ekleme >> seçin Modül .
A Modül açılacaktır, ardından açılan yere aşağıdaki kodu yazın Modül .
Sub Copy_Range_withFormula_ToAnother_Sheet() Range("B1:E10").Copy Sheets("WithFormula").Range("B1").PasteSpecial Paste:=xlPasteFormulas, _ Operation:=xlNone, SkipBlanks:=False, Transpose:=False End Sub
Burada, beyan ettim Alt prosedür Aralık_Formül_ile_Başka_Sayfaya_ Kopyala
Menzil aldım. B1:E10 mevcut sayfadan hedef sayfa adına kopyalamak için İleFormül .
Burada, ben Anlaşıldı metodunu seçili aralığı kopyalamak için kullandım. PasteSpecial bahsettiğim yöntem Yapıştır:=xlPasteFormulas taşısın diye Formüller seçilen aralık ile birlikte.
Sonunda, Kaydet kodu girin ve çalışma sayfasına geri dönün.
Daha sonra Görünüm tab>> dan Makrolar >> seçin Makroları Görüntüle
➤ A iletişim kutusu açılır.
Şimdi Makro adı seçin Aralık_Formül_ile_Başka_Sayfaya_ Kopyala içindeki çalışma kitabını da seçin Makrolar içinde .
Sonunda, Koşmak seçilen Makro .
Böylece, bu Anlaşıldı ile seçilen tüm hücre aralıkları Formüller .
Benzer Okumalar:
- VBA Aralık Ofseti Nasıl Kullanılır (11 Yol)
- Excel'de Aralıktaki Her Hücre için VBA (3 Yöntem)
- Excel'de VBA'nın Aralık Nesnesi Nasıl Kullanılır (5 Özellik)
5. AutoFit ile Bir Aralığı Başka Bir Sayfaya Kopyalama
Bir yandan Kopyalama bir aralığı başka bir sayfaya aktarmak için AutoFit yönteminde VBA için AutoFit yeni sayfada kopyalanan aralık.
İşte, ben Anlaşıldı arasında bir aralık Veri Seti sayfasına AutoFit levha
Prosedürü başlatalım,
İlk önce Geliştirici tab>> seçin Visual Basic
Aynı zamanda ALT + F11 açmak için klavye VBA Editör.
Ardından, bir pencere açacaktır Uygulamalar için Microsoft Visual Basic.
Ardından, açın Ekleme >> seçin Modül .
A Modül açılacaktır, ardından açılan yere aşağıdaki kodu yazın Modül .
Sub Copy_Range_withFormat_AutoFit() Sheets("Dataset").Select Range("B1:E10").Copy Sheets("AutoFit").Select Range("B1").Select ActiveSheet.Paste Columns("B:E").AutoFit End Sub
Burada, beyan ettim Alt prosedür Copy_Range_withFormat_AutoFit
İlk olarak, çalışma sayfasını seçtim Veri Seti . Sonra menzili aldı B1:E10 mevcut sayfadan adlandırılmış hedef sayfaya kopyalamak için AutoFit .
Burada, ben Anlaşıldı metodu ile seçilen aralığı kopyalamak için AutoFit yöntemi verilen sütunlara otomatik uyum sağlayacaktır B:E .
Sonunda, Kaydet kodu girin ve çalışma sayfasına geri dönün.
Daha sonra Görünüm tab>> dan Makrolar >> seçin Makroları Görüntüle
➤ A iletişim kutusu açılır.
Şimdi Makro adı seçin Copy_Range_withFormat_AutoFit içindeki çalışma kitabını da seçin Makrolar içinde .
Sonunda, Koşmak seçilen Makro .
Bu nedenle, bu Anlaşıldı seçilen aralığı yeni bir sayfaya ve ayrıca AutoFit sütunlar.
6. VBA Bir Aralığı Başka Bir Çalışma Kitabına Kopyalama
İsterseniz şunları da yapabilirsiniz Anlaşıldı bir sayfadan farklı bir çalışma kitabının başka bir sayfasına bir aralık.
İşte, ben Anlaşıldı arasında bir aralık Veri Seti sayfasına Sayfa1 . Kitap1 çalışma kitabı.
Prosedürü başlatalım,
İlk önce Geliştirici tab>> seçin Visual Basic (y aynı zamanda ALT + F11 klavye)
Ardından, açılacaktır Uygulamalar için Microsoft Visual Basic.
Ardından, açın Ekleme >> seçin Modül .
A Modül açılacaktır, ardından açılan yere aşağıdaki kodu yazın Modül .
Sub Copy_Range_WithFormat_Toanother_WorkBook() Workbooks("Excel VBA Copy Range to Another Sheet.xlsm").Worksheets("Dataset").Range("B3:E10"). _ Copy Workbooks("Book1").Worksheets("Sheet1").Range("B3") End Sub
Burada, beyan ettim Alt prosedür Aralık_Biçimiyle_Başka_Çalışma_Kitabına_Kopyala
Menzili aldım. B3:E10 sayfa adından Veri Seti mevcut sayfadan yeni çalışma kitabı adına kopyalamak için Kitap1 ve sayfa adı Sayfa1 .
Burada, ben Anlaşıldı yöntemini kullanarak seçilen aralığı yeni çalışma kitabına kopyalayın.
Sonunda, Kaydet kodu girin ve çalışma sayfasına geri dönün.
Daha sonra Görünüm tab>> dan Makrolar >> seçin Makroları Görüntüle
➤ A iletişim kutusu açılır.
Şimdi Makro adı seçin Aralık_Biçimiyle_Başka_Çalışma_Kitabına_Kopyala içindeki çalışma kitabını da seçin Makrolar içinde .
Sonunda, Koşmak seçilen Makro .
Şimdi, o olacak Anlaşıldı 'den seçilen aralığı Veri Seti sayfasını başka bir çalışma kitabına aktarın.
7. Bir Aralığı Başka Bir Sayfanın Son Satırına Kopyalama
Her halükarda, eğer Anlaşıldı Bir aralığı belirli bir hücreden veya son hücreden başka bir sayfaya aktarmak için VBA .
Prosedüre girmeden önce size şunu söylemek istiyorum, iki yeni sayfa aldım. Ad Soyad, E-posta, ve Adres .
Hadi gözlemleyelim Veri Kümesi2 Önce çarşaf.
İşte burada Son Hücrenin Altında levha.
İşte, ben Anlaşıldı arasında bir aralık Veri Kümesi2 sayfasına Son Hücrenin Altında ancak boş olmayan ilk hücreden itibaren.
Başlangıç olarak Geliştirici tab>> seçin Visual Basic
Daha sonra açılacak Uygulamalar için Microsoft Visual Basic.
Ardından, açın Ekleme >> seçin Modül .
A Modül açılacaktır, ardından açılan yere aşağıdaki kodu yazın Modül .
Sub Copy_Range_BelowLastCell_AnotherSheets() Sheets("Dataset2").Select lr = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row Range("A2:C" & lr).Copy Sheets("Below Last Cell").Select lrAnotherSheet = Cells.Find("*", Cells(1, 1), xlFormulas, xlPart, xlByRows, xlPrevious, False).Row Cells(lrAnotherSheet + 1, 1).Select ActiveSheet.Paste Columns("A:C").AutoFit EndAlt
Burada, beyan ettim Alt prosedür Copy_Range_BelowLastCell_AnotherSheets
İlk olarak, sayfayı seçtim Veri Kümesi2 ve daha sonra Sıra saymak için yöntem Son Sıra ve sayılan satırı lr .
Sonra menzil alındı A2:C & lr mevcut sayfadan hedef sayfa adına kopyalamak için Son Hücrenin Altında .
Yine, kullanılan Sıra saymak için yöntem Son Sıra adlı başka bir sayfanın Son Hücrenin Altında ve sayılan satırı lrAnotherSheet .
Burada, ben Anlaşıldı metodu ile seçilen aralığı kopyalamak için AutoFit yöntemi verilen sütunlara otomatik uyum sağlayacaktır A:C .
Sonunda, Kaydet kodu girin ve çalışma sayfasına geri dönün.
Daha sonra Görünüm tab>> dan Makrolar >> seçin Makroları Görüntüle
➤ A iletişim kutusu açılır.
Şimdi Makro adı seçin Copy_Range_BelowLastCell_AnotherSheets içindeki çalışma kitabını da seçin Makrolar içinde .
Sonunda, Koşmak seçilen Makro .
Bu nedenle, bu Anlaşıldı seçilen aralık ve Yapıştır Başka bir sayfanın son satırından.
8. VBA Bir Aralığı Başka Bir Çalışma Kitabının Son Satırına Kopyalama
Eğer istiyorsan Anlaşıldı aralığını başka bir çalışma kitabı sayfasının son satırına aktarmak için de VBA .
İşte, ben Anlaşıldı arasında bir aralık Veri Kümesi2 sayfasına Sayfa1 . Kitap2 ancak boş olmayan ilk hücreden itibaren.
Prosedürü başlatmak için,
İlk önce Geliştirici tab>> seçin Visual Basic
Aynı zamanda ALT + F11 açmak için klavye VBA Editör.
Ardından, yeni bir pencere açacaktır Uygulamalar için Microsoft Visual Basic.
Oradan, aç Ekleme >> seçin Modül .
A Modül açılacaktır, ardından açılan yere aşağıdaki kodu yazın Modül .
Sub Copy_Range_BelowLastCell_To_Another_Workbook() Dim wsCopy As Worksheet Dim wsDestination As Worksheet Dim lCopyLastRow As Long Dim lDestLastRow As Long Set wsCopy = Workbooks("Excel VBA Copy Range to Another Sheet.xlsm").Worksheets("Dataset2") Set wsDestination = Workbooks("Book2.xlsx").Worksheets("Sheet1") lCopyLastRow = wsCopy.Cells(wsCopy.Rows.Count, "A").End(xlUp).Row lDestLastRow =wsDestination.Cells(wsDestination.Rows.Count, "A").End(xlUp).Offset(1).Row wsCopy.Range("A2:C" & lCopyLastRow).Copy wsDestination.Range("A" & lDestLastRow) End Sub
Burada, beyan ettim Alt prosedür Copy_Range_BelowLastCell_To_Another_Workbook nerede wsCopy ve wsDestination vardır Çalışma Sayfası tip, lCopyLastRow ve lDestLastRow vardır Uzun tip.
İlk olarak, kullanılmış Set kopyalanacak sayfa ve hedef sayfa için değişkenleri ayarlamak için.
Daha sonra Sıra sütununun verilerine dayalı olarak son satırı bulmak için yöntem A kopyalama aralığında.
Yine, kullanılan Sıra sütunundaki verilere dayalı olarak ilk boş satırı bulmak için A hedef aralığında da kullanılır Ofset bir mülk aşağı taşımak için.
Sonunda, Kopyalandı verileri Veri Kümesi2 sayfasından Excel VBA Aralığı Başka Bir Sayfaya Kopyala.xlsm çalışma kitabını hedefe Sayfa1 çalışma kitabının Kitap2.xlsx .
Şimdi, Kaydet kodu girin ve çalışma sayfasına geri dönün.
Daha sonra Görünüm tab>> dan Makrolar >> seçin Makroları Görüntüle
➤ A iletişim kutusu açılır.
Şimdi Makro adı seçin Copy_Range_BelowLastCell_To_Another_Workbook içindeki çalışma kitabını da seçin Makrolar içinde .
Sonunda, Koşmak seçilen Makro .
Bu nedenle, bu Anlaşıldı Seçilen aralığı mevcut sayfadan başka bir çalışma kitabının son satırına aktarır.
Uygulama Bölümü
Excel'in bu açıklanan yollarını uygulamak için çalışma kitabında bir alıştırma sayfası sağladım VBA aralığı başka bir sayfaya kopyalayın.
Sonuç
Bu makalede, Excel'in 8 farklı türde kolay ve hızlı yolunu açıkladım VBA Bu farklı yollar, bir aralığı bir sayfadan diğerine ve ayrıca bir sayfadan başka bir çalışma kitabına kopyalamanıza yardımcı olacaktır. Son olarak, herhangi bir öneriniz, fikriniz ve geri bildiriminiz varsa lütfen aşağıya yorum yapmaktan çekinmeyin.