• DİKKAT

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

2.sayfadaki verinin üzerine 1.sayfadaki verileri yapıştırma

Katılım
12 Aralık 2019
Mesajlar
94
Excel Vers. ve Dili
türkçe
Öncelikle merhaba arkadaşlar;
1.sayfaya yeni veri girdiğim zaman 2.sayfadaki verileri önce tamamını silsin sonra makroya(1.sayfadaki A sütunundaki değer "D" ise gitsin 2.sayfada boş hücreye yapıştırsın) başlasın ancak yapmak istediğimde tarihe göre en son satır hem en alta hemde en üste gelmektedir.

Makro formül
'
Worksheets("DENİZLİ").Range("A1:AB99999").Clear
a = Worksheets("GENEL LİSTE").Cells(Rows.Count, 1).End(xlUp).Row
For i = 13 To a
If Worksheets("GENEL LİSTE").Range("A" & i).Value = "D" Then
Worksheets("GENEL LİSTE").Rows(i).Copy
Worksheets("DENİZLİ").Activate
Worksheets("DENİZLİ").Range("A8").PasteSpecial
B = Worksheets("DENİZLİ").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("DENİZLİ").Range("A" & B + 1).Select
ActiveSheet.Paste
End If
Next i

End Sub

formül sonrası tekrar 1.sayfada en alta girdiğim veri aşağıdaki gibi olsun
A Sütunu B Sütunu C Sütunu
D 30.04.2020 600 TL
tekrar yukardaki formülü başlattığımda bu son girdiğim veri hem en üst boş satıra hemde en alta satıra gelmektedir.
 
Kısa bir şey sorayım yukarıdaki baya karmaşık oldu herhalde

For i = 13 To a
If Worksheets("GENEL LİSTE").Range("A" & i).Value = "D" Then
Worksheets("GENEL LİSTE").Rows(i).Copy
Worksheets("DENİZLİ").Activate
B = Worksheets("DENİZLİ").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("DENİZLİ").Range("A" & B + 1).Select
ActiveSheet.Paste
End If
Next i

End Sub


yukarıdaki formülü denizli sayfasında istediğim satırdan başlatamıyorum haliyle bulduğu ilk boş satırın altına yapıştırıyor
 
1.sayfaya yeni veri girdiğim zaman 2.sayfadaki verileri önce tamamını silsin

Bu isteğinizi aşağıdaki satır yapıyor zaten:

Worksheets("DENİZLİ").Range("A1:AB99999").Clear

1.sayfadaki A sütunundaki değer "D" ise

Bu isteğinizin karşılığı ise aşağıdaki satır:

If Worksheets("GENEL LİSTE").Range("A" & i).Value = "D" Then

gitsin 2.sayfada boş hücreye yapıştırsın

Bu isteğinizi de
B = Worksheets("DENİZLİ").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("DENİZLİ").Range("A" & B + 1).Select
ActiveSheet.Paste

satırları yapıyor.

Worksheets("DENİZLİ").Range("A8").PasteSpecial

Bu satır ise her veriyi A8 hücresine yapıştırıyor. Sorununuzun nedeni bu satır diye düşünüyorum. Bu satırı silerseniz işlem düzelecektir.

Kodun sade hali ise şöyledir:

Kod:
Sub aktar()
    Set s1 = Sheets("GENEL LİSTE")
    Set s2 = Sheets("DENİZLİ")
    son2 = s2.Cells(Rows.Count, "A").End(3).Row
    s2.Range("A1:AB" & son2).Clear
    a = s1.Cells(Rows.Count, 1).End(xlUp).Row
    sat = 1
    For i = 13 To a
        If s1.Range("A" & i) = "D" Then
            s1.Rows(i).Copy s2.Cells(sat, "A")
            sat = sat + 1
        End If
    Next
End Sub
 
Teşekkür ederim Yusuf44 bey
 
Geri
Üst