• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sayfa1 Ve Sayfa2 Deki Alanların Bazılarını Değiştirme

Katılım
19 Mayıs 2014
Mesajlar
14
Excel Vers. ve Dili
Office365
Merhaba,
Sayfa1 Üzerinde C Sütunundaki veriler ile Sayfa2 deki A sütunu aynı(Stok kodu) , Sayfa1 deki G sütununa sayfa2 deki D Sütunundaki verilerin Gelmesini yani
Veri yoksa eklenmesini varsa değişmesini istiyorum.(rakam yada kelime olabilir.) Bunu nasıl yapabilirim.Örnek Dosyayıda ekledim. Bana yardımcı olabilirmisiniz.İşim için çok önemli.İki Sütunu yapmama yardım ederseniz gerisini yapabilirim sanırım.İlginize şimdiden teşekkür ederim.
 

Ekli dosyalar

Sanırım tam anlatamamışım.

Merhaba,
Öncelikle ilginize çok teşekkür ederim.Emek vermişsiniz mahcup oldum.

Sanırım tam anlatamamışım. Ekteki dosyayı güncelleyip, Stok kodlarını aynı yaparak tekrar gönderdim. Tam anlatabilmek için.

( Sayfa2 deki Stok kodu aynı olan B Ve D Sütunlarını Sayfa1deki stok kodlarının karışındaki E ve G Sütunlarındaki yerlerine yazması veya değiştirmesi gerekiyor.)

Diyelim ki Sayfa1'de C sütunundaki Stok kodları Sayfa2'deki A sütunundaki Stok kodları ile aynı.D Sütunu ile E sütunu ise değişmiş yada hücre boş. Sayfa1'de Değişen kısımların sayfa2'den gelmesini (transfer edilmesini)yapmak istiyorum. Yada hücre boşsa yeni gelen değerin gelmesini.Bu ikisini yaparsam kodla geri kalanları sanırım kendim yaparım..Dosyayı tekrar gönderdim. Tekrar ilginize çok teşekkürler.
 

Ekli dosyalar

Son düzenleme:
Merhaba,
Sorumu anlatabildimmi, Yardımcı olabilirmisiniz?
 
Yardımcı olabilecekmisiniz.Konu işim için çok önemli.Bir türlü yapamadım.
 
Buyrun...

Kod:
Sub ara()
Dim s1 As Worksheet, s2 As Worksheet
Dim a(), b(), c(), d As Object, i As Long
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
Set d = CreateObject("scripting.dictionary")
    a = s2.Range("A2:D" & s2.Cells(Rows.Count, 1).End(3).Row)
    ReDim b(1 To UBound(a), 1 To 2)
    For i = 1 To UBound(a)
        If Not a(i, 1) = "" Then
            If Not d.exists(a(i, 1)) Then
                d(a(i, 1)) = d.Count + 1
                say = d.Count
                b(say, 1) = a(i, 3)
                b(say, 2) = a(i, 4)
            End If
        End If
    Next i
On Error Resume Next
c = s1.Range("C2:C" & s1.Cells(Rows.Count, 3).End(3).Row)
ReDim v(1 To UBound(c), 1 To 1)
ReDim v1(1 To UBound(c), 1 To 1)
    For i = 1 To UBound(c)
        v(i, 1) = b(d(CStr(c(i, 1))), 1)
        v1(i, 1) = b(d(CStr(c(i, 1))), 2)
    Next i
s1.[J2].Resize(UBound(c)) = v
s1.[G2].Resize(UBound(c)) = v1
MsgBox "İşlem tamam.", vbInformation
End Sub
 
Merhaba,
Vaktinizi ayırıp emek verdiniz, çok teşekkür ederim. Çok faydalı oldu. Hatta ufkumu açtı.İyi çalışmalar dilerim.
 
Geri
Üst