• DİKKAT

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

Değiştir ve güncelle

Katılım
30 Nisan 2007
Mesajlar
396
Excel Vers. ve Dili
Office 365
Merhaba,
Çok karışık bir listeyi basite indirgeyip ekteki dosyada açıklamaya çalıştığım problemin VBA ile çözülmesi konusunda eğer uygunsa yardımlarınızı bekliyorum.
iyi çalışmalar
 

Ekli dosyalar

Kod:
Sub test()
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
yeni = s1.[A3:D4].Value
eski = s1.[A1]
son = s2.Cells(Rows.Count, 1).End(3).Row
tbl = s2.Range("A4:D" & son).Value
For i = 1 To UBound(tbl)
    If tbl(i, 1) = yeni(2, 1) Then
        tbl(i, 1) = eski
        For j = 2 To 4
            tbl(i, j) = yeni(2, j)
        Next j
    End If
Next i
s2.[A4].Resize(UBound(tbl), 4) = tbl
MsgBox "İşlem Bitti.", vbInformation
End Sub
 
İlginiz için saolun Ziynettin Bey ama hiçbir işlem döndürmedi kodlar
Tam anlatamamış olabilirim
1.sayfadaki satır bilgileri 2.saydaki ilgili satırlarda değişecek.
 
Çok teşekkür ederim tam isabet

Bu arada ezbere olmaması için kodlardaki şu satıların anlamını yazmanızı rica ederim ( kırmızı olan 2 satır)

Private Sub CommandButton1_Click()
Dim s1 As Worksheet, s2 As Worksheet
Set s1 = Sheets("Sayfa1")
Set s2 = Sheets("Sayfa2")
yeni = s1.[A3:D4].Value
eski = s1.[A1]

son = s2.Cells(Rows.Count, 1).End(3).Row
tbl = s2.Range("A4:D" & son).Value
For i = 1 To UBound(tbl)
If tbl(i, 1) = yeni(2, 1) Then
tbl(i, 1) = eski
For j = 2 To 4
tbl(i, j) = yeni(2, j)
Next j
End If
Next i
s2.[A4].Resize(UBound(tbl), 4) = tbl
MsgBox "İşlem Bitti.", vbInformation
End Sub
 
Geri
Üst