replace ama nasıl?

Katılım
12 Mart 2005
Mesajlar
90
dostlar
benim sorunum şöyle; X dosyasının sayfa1 A ve B sütunlarında aynı sayıda veri var. Y excel dosyasının sayfa1 inde ise asıl verilerim. Y dosyasına yazacağım makro X dosyasını açsın A ve B sütunlarındaki verileri sıralı olarak okusun. sonra Y dosyasında X in A1 hücresinde kayıtlı veriyi tam hücre içeriği eşleştirerek arasın bulursa bu hücre içerini X in B1 hücresinde yazılı olan veriye değiştirsin. sonra X in A2 hücresinde kayıtlı veriyi tam hücre içeriği eşleştirerek arasın bulursa bu hücre içerini X in B2 hücresinde yazılı olan veriye değiştirsin......
yardımcı olursanız sevinirim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek dosyalarınızı eklermisiniz.
 
Katılım
12 Mart 2005
Mesajlar
90
örnek dosyalar

x dosyasındaki ve y dosyasındaki verilerin sayıları çok fazla ekli dosyalar örnek olarak yapılmıştır.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,250
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Eklemiş olduğunuz iki dosyayıda C klasörü altına kopyaladıktan sonra Y.xls isimli dosyada aşağıdaki kodu denermisiniz. Kod büyük-küçük harf duyarlıdır.

Kod:
Sub DEĞİŞTİR()
    Application.ScreenUpdating = False
    Set DOSYA = Workbooks.Open("C:\X.xls")
    Set KAYNAK = Workbooks("X.xls").Sheets("Sayfa1")
    Set HEDEF = Workbooks("Y.xls").Sheets("Sayfa1")
    For X = 1 To KAYNAK.[A65536].End(3).Row
    If WorksheetFunction.CountIf(HEDEF.Cells, KAYNAK.Cells(X, 1)) > 0 Then
    HEDEF.[A:B].Replace What:=KAYNAK.Cells(X, 1), Replacement:=KAYNAK.Cells(X, 2), LookAt:=xlWhole, MatchCase:=True
    End If
    Next
    HEDEF.Cells.EntireColumn.AutoFit
    DOSYA.Close True
    Set DOSYA = Nothing
    Set KAYNAK = Nothing
    Set HEDEF = Nothing
    Application.ScreenUpdating = True
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
12 Mart 2005
Mesajlar
90
süper süper süper. sevgili üstad çok teşekkür ederim. çok sağolun.
 
Üst