Değiştir ve güncelle

teknikyapı

Altın Üye
Katılım
30 Nisan 2007
Mesajlar
396
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
13-01-2026
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

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,111
Excel Vers. ve Dili
office2010
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
 

teknikyapı

Altın Üye
Katılım
30 Nisan 2007
Mesajlar
396
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
13-01-2026
İ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.
 

teknikyapı

Altın Üye
Katılım
30 Nisan 2007
Mesajlar
396
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
13-01-2026
Merhaba,
desteklerinizi bekliyorum .
 

teknikyapı

Altın Üye
Katılım
30 Nisan 2007
Mesajlar
396
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
13-01-2026
Ç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
 
Üst