VBA ile git ve yapıştır

Katılım
5 Eylül 2023
Mesajlar
2
Excel Vers. ve Dili
excel 2019
Merhabalar. Umarım doğru yere konu açıyorumdur, kusuruma bakmayın. Excel'i kullanmayı, kurcalamayı sevsem de acemisiyim ve VBA bilgim neredeyse hiç yok gibi. Sadece videolar yani talimatlar üzerinden gidebiliyorum. Durumuma göre bana yardımcı olabilirseniz sevinirim...

İki excel dosyam var. Birindeki hücrelerin herhangi birine (her sekmedeki belli bir sütundaki her hücre için istiyorum bunu) tıkladığımda, diğer excel dosyasına gidip belli bir hücreye, ilk dosyadaki tıkladığım hücrenin içeriğini yapıştırmasını istiyorum. VBA ile bunu yapmak mümküm müdür?
 
Son düzenleme:

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Merhaba, açık kitaplar arasında kopyalama işlemi için örnek.

Tıklama işlemi yapacağınız sayfanın üzerinde Sağ Tuş Kod görüntüleyi tıklayın ve açılan sayfaya aşağıdaki kodları yapıştırın.
246395

Kodlarda düzenlemeniz gereken kısımlar,
* Target.Column = 4 And Target.Row > 2 bu kısımda sütun ve satır numarası belirliyoruz.
Anlamı: Seçilen hücrenin sütun numarası 4 ve satır numarası 2 den büyükse. Yani D sütunundaki hücreler tıklanınca çalışır.
* Workbooks("Dosya İsmini Yazınız") bu kısımda yapıştırma işlemi için diğer dosyanın adını çift tırnak içerisine yazmalısınız.
Örnek: Workbooks("Kitap1.xlsx")
* wb.Sheets("Sayfa İsmini Yazınız") bu kısımda yapıştırma işlemi yapılacak sayfa adını çift tırnak içerisine yazmalısınız.
Örnek: wb.Sheets("Sayfa1")
* ws.Range("A1") bu kısımda ise yapıştırma yapılacak hücreyi yazmalısınız. Örnek olarak A1 hücresine yapıştırır.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
    If Target.Column = 4 And Target.Row > 2 Then
        If Selection.Count > 1 Then Exit Sub
        Dim wb As Workbook, ws As Worksheet
        Set wb = Workbooks("Dosya İsmini Yazınız"): Set ws = wb.Sheets("Sayfa İsmini Yazınız")
            ws.Range("A1") = Target.Value
    End If
Application.ScreenUpdating = True
End Sub
 
Son düzenleme:
Katılım
5 Eylül 2023
Mesajlar
2
Excel Vers. ve Dili
excel 2019
Bu kadar hızlı ve ayrıntılı cevap (beklemiyordum:)) için çok teşekkür ederim. Emeğinize sağlık, dert görmeyin.

Bu arada, hem yapıştırılacak olan dosya kapalıyken açılsın hem de dosyaya geçilsin diye sütunun tamamına köprü bağladım. Tam istediğim gibi oldu. Sanırım bu söylediğim aşama için başka bir yol yoktur, değil mi? (İleride kasmalar olmasın istiyorum çünkü)
 

AdemCan

Altın Üye
Destek Ekibi
Katılım
1 Eylül 2008
Mesajlar
1,362
Excel Vers. ve Dili
2019 TR
Merhaba rica ederim. Kapalı dosya için kodlar.
Sütundaki köprüleri kaldırabilirsiniz.
Değiştirmeniz gereken kısımlar
dosya = "C:\Kitap1.xlsx" kapalı dosyanın konumunu çift tırnak içerisine yazınız.
wb.Sheets("Sayfa İsmini Yazınız") sayfa ismini çift tırnak içerisine yazınız.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
    If Target.Column = 4 And Target.Row > 2 Then
        If Selection.Count > 1 Then Exit Sub
        Dim wb As Workbook, ws As Worksheet, dosya As String
        dosya = "C:\Kitap1.xlsx"
        Workbooks.Open (dosya)
        Set wb = Workbooks(ActiveWorkbook.Name): Set ws = wb.Sheets("Sayfa İsmini Yazınız")
            ws.Range("A1") = Target.Value
            wb.Save
            ActiveWindow.Close
    End If
Application.ScreenUpdating = True
End Sub
 
Üst