Bir Makrodan Kes, Kopyala ve Yapıştır - VBA Kodu Örnekleri

Bu öğreticide, bir VBA makrosu kullanarak Kopyala ve Yapıştır ve Kes ve Yapıştır için birkaç farklı yöntem öğreneceksiniz. Daha gelişmiş kopyalama ve yapıştırma seçenekleri için Value Pasting ve PasteSpecial hakkındaki tamamlayıcı öğreticiyi okuyun.

Bu kodu kullanmak için: Visual Basic Düzenleyicisini açın (Alt + F11), Yeni bir modül takın (Ekle > Modül) ve istenen kodu kopyalayıp modüle yapıştırın.

Tek Bir Hücreyi Kopyala (Kes) ve Yapıştır

Bu örnek, A1'den B1'e tek bir hücreyi kopyalar veya keser ve yapıştırır:

123456789 Alt Yapıştır_OneCell()'Tek Hücreyi Kopyala ve YapıştırAralık("A1").Aralığı Kopyala("B1")'Kes ve Yapıştır Tek HücreAralık("A1").Kesme Aralığı("B1")Alt Bitiş

Seçimi Kopyala

Etkin seçimi kopyalamak istiyorsanız şunu kullanın:

123456789101112 Alt KopyaSeçimi()'Tanımlanmış Bir Aralığa YapıştırSelection.copy aralığı ("b1")Ofset Yapıştır (2 hücreyi aşağı ve 1 hücreyi sağa kaydırırseçim.kopyaSelection.offset(2,1).pasteApplication.CutCopyMode = YanlışAlt Bitiş

Bir Hücre Aralığını Kopyala (Kes) ve Yapıştır

Bu örnek, A1:A3'ten B1:B3'e kadar bir hücre aralığını kopyalar veya keser ve yapıştırır:

123456789 Alt Yapıştır_Aralığı()'Bir dizi hücreyi kopyalayıp yapıştırınAralık("A1:A3").Aralığı Kopyala("B1:B3")'Bir dizi hücreyi kes ve yapıştırAralık("A1:A3").Kesme Aralığı("B1:B3")Alt Bitiş

Tüm Sütunu Kopyala (Kes) ve Yapıştır

Aşağıda birkaç hızlı örnek göstereceğiz. Ayrıntılı örnekler, açıklamalar ve varyasyonlar için Satırları ve Sütunları Kopyalama ve Yapıştırma hakkındaki makalemizi okuyun.

Bu örnek, A'dan B'ye tüm sütunu kopyalar veya keser ve yapıştırır:

12345678910 Alt YapıştırOneColumn()'Sütunu Kopyala ve YapıştırAralık("A:A").Aralığı Kopyala("B:B")'Kes ve Yapıştır SütunuAralık("A:A").Kesme Aralığı("B:B")Alt Bitiş

Tüm Satırı Kopyala (Kes) ve Yapıştır

Bu örnek, 1'den 2'ye kadar tüm satırı kopyalar veya keser ve yapıştırır:

12345678910 Alt Yapıştır_OneRow()'Satırı Kopyala ve YapıştırAralık("1:1").Aralığı Kopyala("2:2")'Kes ve Yapıştır SatırıAralık("1:1").Kesme Aralığı("2:2")Alt Bitiş

Kopyala (Kes) ve Başka Bir Çalışma Sayfasına veya Çalışma Kitabına Yapıştır

1234567891011121314 Alt Yapıştır_Other_Sheet_or_Book()'Kes veya başka bir çalışma sayfasına Kopyala ve YapıştırÇalışma Sayfaları("sayfa1").Aralık("A1").Kopya Çalışma Sayfaları("sayfa2").Aralık("B1") 'KopyalaWorksheets("sheet1").Range("A1").Cut Worksheets("sheet2").Range("B1") 'Cut'Kes veya Kopyala ve Başka bir çalışma kitabına YapıştırWorkbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Copy _Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'CopyÇalışma Kitapları("book1.xlsm").Çalışma sayfaları("sayfa1").Aralık("A1").Kes _Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'KesApplication.CutCopyMode = YanlışAlt Bitiş

Değer Yapıştır

Normalde, Kopyalayıp Yapıştırdığınızda, bir hücrenin tüm özelliklerini yapıştırırsınız: biçimlendirme, formüller, vb… Değer Yapıştırma, hücrelerin değerlerini Kopyalayıp yapıştırmanıza izin verir ve başka bir şey yapmaz. VBA'da Değer Yapıştır'ın en kolay yolu, hücrenin değerini doğrudan tanımlamaktır:

123456789101112131415 Alt DeğerPaste()'Değer Yapıştır HücreleriAralık("B1").değer = Aralık("A1").değerAralık("B1:B3").değer = Aralık("A1:A3").değer'Çalışma Sayfaları Arasındaki Değerleri AyarlayınWorksheets("sheet2").range("A1").value = Worksheets("sheet1").range("A1").value'Çalışma Kitapları Arasındaki Değerleri AyarlaWorkbooks("book2.xlsm").Worksheets("sheet1").range("A1").value = _Workbooks("book1.xlsm").Worksheets("sheet1").range("A1").valueApplication.CutCopyMode = YanlışAlt Bitiş

Özel yapıştır

Özel Yapıştır, hücrelerin belirli özelliklerini (örnekler: biçimler, değerler, sütun genişlikleri vb.) Kopyalayıp Yapıştırmanıza olanak tanır. Ayrıca özel yapıştırma işlemleri gerçekleştirmenize de olanak tanır (örnekler: boşlukları atlama, devrik). Aşağıda birkaç örneğe bakacağız, ancak derinlemesine bir inceleme için Value Pasting ve Paste Special hakkındaki eğitimimizi okuyun.

12345678910111213141516171819 Alt YapıştırÖzel()'Bir Yapıştır Özel İşlemi gerçekleştirin:Aralık("A1").Kopyala'Biçimleri YapıştırRange("B1").PasteSpecial Paste:=xlPasteFormats'Sütun Genişliklerini YapıştırRange("B1").PasteSpecial Paste:=xlPasteColumnWidths'Formülleri YapıştırRange("B1").PasteSpecial Paste:=xlPasteFormüller'Birden Çok Yapıştırma Özel İşlemini Aynı Anda Gerçekleştirin:Aralık("A1").Kopyala'Biçimleri Yapıştır ve AktarRange("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _Yanlış, Devir:=DoğruApplication.CutCopyMode = YanlışAlt Bitiş

Panoyu Temizle

Kopyalayıp Yapıştırdıktan sonra panoyu temizlemek isteyebilirsiniz (yukarıdaki bazı kod örneklerinde yapıyoruz). Excel panosunu temizlemek için Application.CutCopyMode öğesini False olarak ayarladık:

1 Application.CutCopyMode = Yanlış

Bu, Excel'in panosunu temizleyecektir. Ancak, Windows Panosu'nu temizlemeyecektir. Pencere panosunu temizlemek için buradaki talimatları izleyin.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave