Bu makalemiz, Excel VBA makrolarını kullanarak Kopyala/Yapıştır ve Kes/Yapıştır işlemlerinin birkaç farklı yöntemini öğretir.
Aşağıya ekleyeceğimiz kod parçalarını kullanmak için,
Aşağıdaki örnek kod, A1 hücresindeki değeri B1 hücresine kopyala, kes işlemini yaparak yapıştırmanız içindir.
[REPLY]
[/REPLY]
SEÇİMİ KOPYALAMA
Aşağıdaki kod ile, seçili olan hücreyi kopyalayıp, B1 hücresine yapıştırabilirsiniz.
[REPLY]
[/REPLY]
BİR HÜCRE ARALIĞINI KES/KOPYALA YAPIŞTIR
Aşağıdaki kod ile, A1:A3 aralığını, B1:B3 aralığına yapıştırabilirsiniz.
[REPLY]
[/REPLY]
TÜM SÜTUNU KES/KOPYALA YAPIŞTIR
Aşağıdaki kod ile A sütununu kes/kopyala yapıp, B sütununa yapıştırabilirsiniz.
[REPLY]
[/REPLY]
TÜM SATIRI KES/KOPYALA YAPIŞTIR
Aşağıdaki kod ile 1. satırı kes/kopyala yapıp, 2. satıra yapıştırabilirsiniz.
[REPLY]
[/REPLY]
BİR SAYFADAN KES/KOPYALA BAŞKA SAYFAYA YA DA DOSYAYA YAPIŞTIR
[REPLY]
[/REPLY]
DEĞERLERİ YAPIŞTIRMA
Normalde, Kopyala ve Yapıştır yaptığımızda, bir hücrenin tüm özelliklerini yapıştırılır. Eğer, sadece kopyaladığınız hücredeki değeri, yapıştıracağınız hücreye aktarmak isterseniz, Değerleri Yapıştır seçeneğini kullanmalısınız.
Makro'da bunun en iyi yöntemi, doğrudan hücrenin değerini tanımlamaktır.
Aşağıdaki kodu inceleyin.
[REPLY]
[/REPLY]
ÖZEL YAPIŞTIR
[REPLY]
[REPLY][/REPLY][/REPLY]
Aşağıya ekleyeceğimiz kod parçalarını kullanmak için,
- Visual Basic Editor'ı (Alt + F11) açın,
- Yeni bir modül ekleyin (Ekle -> Modül)
- Kodlar kopyalayıp modülün sağ kısmındaki beyaz bölüme yapıştırın.
Aşağıdaki örnek kod, A1 hücresindeki değeri B1 hücresine kopyala, kes işlemini yaparak yapıştırmanız içindir.
[REPLY]
Kod:
Sub TekHucreKesKopyala()
Range("A1").Copy Range("B1")
Range("A1").Cut Range("B1")
Application.CutCopyMode = False
End Sub
SEÇİMİ KOPYALAMA
Aşağıdaki kod ile, seçili olan hücreyi kopyalayıp, B1 hücresine yapıştırabilirsiniz.
[REPLY]
Kod:
Sub SecimiKopyala()
Selection.Copy Range("B1")
Selection.Copy
Selection.Offset(2, 1).Paste
End Sub
BİR HÜCRE ARALIĞINI KES/KOPYALA YAPIŞTIR
Aşağıdaki kod ile, A1:A3 aralığını, B1:B3 aralığına yapıştırabilirsiniz.
[REPLY]
Kod:
Sub AraligiYapistir()
Range("A1:A3").Copy Range("B1:B3")
Range("A1:A3").Cut Range("B1:B3")
Application.CutCopyMode = False
End Sub
TÜM SÜTUNU KES/KOPYALA YAPIŞTIR
Aşağıdaki kod ile A sütununu kes/kopyala yapıp, B sütununa yapıştırabilirsiniz.
[REPLY]
Kod:
Sub SutunYapistirma()
Range("A:A").Copy Range("B:B")
Range("A:A").Cut Range("B:B")
Application.CutCopyMode = False
End Sub
TÜM SATIRI KES/KOPYALA YAPIŞTIR
Aşağıdaki kod ile 1. satırı kes/kopyala yapıp, 2. satıra yapıştırabilirsiniz.
[REPLY]
Kod:
Sub SatirYapistirma()
Range("1:1").Copy Range("2:2")
Range("1:1").Cut Range("2:2")
Application.CutCopyMode = False
End Sub
BİR SAYFADAN KES/KOPYALA BAŞKA SAYFAYA YA DA DOSYAYA YAPIŞTIR
[REPLY]
Kod:
Sub DigerSayfayaYaDaDosyayaYapistirma()
Worksheets("Sayfa1").Range("A1").Copy Worksheets("Sayfa2").Range("B1")
Worksheets("Sayfa1").Range("A1").Cut Worksheets("Sayfa2").Range("B1")
Workbooks("Kitap1.xlsm").Worksheets("Sayfa1").Range("A1").Copy Workbooks("Kitap2.xlsm").Worksheets("Sayfa1").Range("B1")
Workbooks("Kitap1.xlsm").Worksheets("Sayfa1").Range("A1").Cut Workbooks("Kitap2.xlsm").Worksheets("Sayfa1").Range("B1")
Application.CutCopyMode = False
End Sub
DEĞERLERİ YAPIŞTIRMA
Normalde, Kopyala ve Yapıştır yaptığımızda, bir hücrenin tüm özelliklerini yapıştırılır. Eğer, sadece kopyaladığınız hücredeki değeri, yapıştıracağınız hücreye aktarmak isterseniz, Değerleri Yapıştır seçeneğini kullanmalısınız.
Makro'da bunun en iyi yöntemi, doğrudan hücrenin değerini tanımlamaktır.
Aşağıdaki kodu inceleyin.
[REPLY]
Kod:
Sub DegerleriYapistir()
Range("B1").Value = Range("A1").Value
Range("B1:B3").Value = Range("A1:A3").Value
Worksheets("Sayfa2").Range("A1").Value = Worksheets("Sayfa1").Range("A1").Value
Workbooks("Kitap2.xlsm").Worksheets("Sayfa1").Range("A1").Value = Workbooks("Kitap1.xlsm").Worksheets("Sayfa1").Range("A1").Value
Application.CutCopyMode = False
End Sub
ÖZEL YAPIŞTIR
[REPLY]
Kod:
Sub OzelYapistir()
Range("A1").Copy
Range("B1").PasteSpecial Paste:=xlPasteFormats
Range("B1").PasteSpecial Paste:=xlPasteColumnWidths
Range("B1").PasteSpecial Paste:=xlPasteFormulas
Range("A1").Copy
Range("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=True
Application.CutCopyMode = False
End Sub