macro ile diğer dosyadaki verileri değer olarak yapıştırmak

incsoft

Altın Üye
Katılım
18 Ağustos 2009
Mesajlar
740
Excel Vers. ve Dili
Office Ev ve İş 2021 - Türkçe
Altın Üyelik Bitiş Tarihi
12-12-2024
Arkadaşlar ÇEK.XLSM dosyası D sürücümde bulunmakta ve SOR.XLSM dosyasında bulunan yeşil ile işaretli satırlara ÇEK dosyasından çektirerek değer olarak yapıştırmak istiyorum. Bunu macro ile yaptırmak istiyorum. Bu konuda yardımcı olabilirseniz sevinirim. SOR ve ÇEK dosyaları örnektir ben o macroya göre kendi dosyamdaki satır ve sütunlara göre değiştireceğim. Teşekkürler..



Düzenini aynı orjinal dosya gibi yaptım hocam. Önemli olan SOR dosyasında aktif sayfaya ÇEK dosyasından verileri getirmesi.
 

Ekli dosyalar

Son düzenleme:
Katılım
10 Mart 2013
Mesajlar
187
Excel Vers. ve Dili
2016 - İngilizce
Altın Üyelik Bitiş Tarihi
29.05.2018
Merhaba,
Örnek excel dosyalarını indiremediğim için yüzeysel bir yönlendirme yapacağım. Öncelikle, bu işlemi yapmak için "SOR.XLSM" dosyasında bir VBA kodu yazmanız gerekiyor. Aşağıdaki kodları kullanarak bu işlemi gerçekleştirebilirsiniz.

Bu kod, "ÇEK.XLSM" dosyasındaki "VERILER" sayfasındaki belirtilen aralıktaki verileri alacak ve "SOR.XLSM" dosyasındaki "SAYFA1" sayfasındaki belirtilen aralığa yapıştıracaktır. Siz bu kodu ihtiyacınıza göre düzenleyebilirsiniz.

Not: Kodu kopyaladıktan sonra, "Tools" menüsünden "References" seçeneğini seçerek, "Microsoft Excel Object Library" kutucuğunun işaretli olduğundan emin olun. Bu, kodun çalışması için gereklidir.

Sub VeriCekme()
'Çek dosyasının yolunu belirtin
Const DosyaYolu As String = "D:\ÇEK.XLSM"
'Çek dosyasındaki verilerin bulunduğu sayfa adını belirtin
Const SayfaAdi As String = "VERILER"
'Çek dosyasındaki verilerin bulunduğu aralığı belirtin
Const Aralik As String = "A1:B10"
'Sor dosyasındaki verilerin bulunduğu sayfa adını belirtin
Const SorSayfaAdi As String = "SAYFA1"
'Sor dosyasındaki verilerin bulunduğu aralığı belirtin
Const SorAralik As String = "A1:B10"

Dim wb As Workbook
Dim ws As Worksheet
Dim sor_ws As Worksheet
Dim cek_rng As Range
Dim sor_rng As Range
Dim i As Long

'Çek dosyasını açın
Set wb = Workbooks.Open(DosyaYolu)
'Verilerin bulunduğu sayfayı belirleyin
Set ws = wb.Sheets(SayfaAdi)
'Verilerin bulunduğu aralığı seçin
Set cek_rng = ws.Range(Aralik)

'Sor dosyasındaki sayfayı belirleyin
Set sor_ws = ThisWorkbook.Sheets(SorSayfaAdi)
'Sor dosyasındaki verilerin bulunduğu aralığı seçin
Set sor_rng = sor_ws.Range(SorAralik)

'Verileri Çek dosyasından alıp Sor dosyasına yapıştırın
For i = 1 To sor_rng.Rows.Count
sor_rng.Cells(i, 2).Value = cek_rng.Cells(i, 1).Value
Next i

'Çek dosyasını kapatın
wb.Close SaveChanges:=False
End Sub
 
Üst