başka sayfaya kayıtları toplama

Katılım
27 Ekim 2007
Mesajlar
287
Excel Vers. ve Dili
2003 TR
Selam Arkadaşlar
Sayfalardan istediğim satırları mausla belirtip KAYDET sayfasına butona tıklayıp alt alta gönderebilirmiyim?Ancak aynı kayıtlar tekrar gönderilemesin.
Teşekkürler.
 
Katılım
27 Ekim 2007
Mesajlar
287
Excel Vers. ve Dili
2003 TR
Selam Arkadaşlar
Gözden kaçtı eminim yardımcı olursanız sevinirim.
Teşekkürler.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Aşağıdaki kodları bir modul sayfasına kopyalayınız ve sayfadaki düğmeye bağlayınız.

Kod:
Sub Kaydet()
    Dim str As Range
    Dim i As Integer
    Dim y As Integer
    Dim son As Integer
    
[COLOR=darkgreen]    'Seçim bir hücre aralığı mı ? Öyleyse[/COLOR]
    If TypeOf Selection Is Range Then
        
[COLOR=darkgreen]        'Seçimdeki herbir hücre için[/COLOR]
        For Each str In Selection
        
[COLOR=darkgreen]            'KAYDET sayfası ile birlikte[/COLOR]
            With Sheets("KAYDET")
                
[COLOR=darkgreen]                'Kaydet sayfasındaki tüm dolu satırları
                'tarayacak şekilde döngüye gir[/COLOR]
                For i = 2 To .Cells(65536, 1).End(xlUp).Row
[COLOR=darkgreen]                    'Eğer seçimdeki ilgili hücrenin ilk 5 hücresi
                    'Kaydet sayfasındaki ilk beş hücre ile eşitse[/COLOR]
                    If Cells(str.Row, 1) & _
                        Cells(str.Row, 2) & _
                          Cells(str.Row, 3) & _
                            Cells(str.Row, 4) & _
                              Cells(str.Row, 5) = _
                                                   .Cells(i, 1) & _
                                                    .Cells(i, 2) & _
                                                     .Cells(i, 3) & _
                                                      .Cells(i, 4) & _
                                                        .Cells(i, 5) Then
[COLOR=darkgreen]                        'eşitlik sayacını bir artır[/COLOR]
                        y = y + 1
[COLOR=darkgreen]                        'Döngüden çık[/COLOR]
                        Exit For
                     End If
                 Next i
                 
[COLOR=darkgreen]                 'Eğer eşitlik sayacı 0 ise[/COLOR]
                 If y = 0 Then
[COLOR=darkgreen]                    'Kaydet sayfasındaki son boş satırı bul[/COLOR]
                    son = .Cells(65536, 1).End(xlUp).Row + 1
[COLOR=darkgreen]                      'Son boş satıra, seçimdeki ilgili hücreleri aktar[/COLOR]
                      .Range(.Cells(son, 1), .Cells(son, 5)).Value = _
                          Range(Cells(str.Row, 1), Cells(str.Row, 5)).Value
                 End If
[COLOR=darkgreen]                 'eşitlik sayacını sıfırla[/COLOR]
                 y = 0
            
            End With
        Next
    
    End If
End Sub
 
Son düzenleme:
Katılım
27 Ekim 2007
Mesajlar
287
Excel Vers. ve Dili
2003 TR
Sayın Şaban Sertkaya
Değerli çözümünüz için çok teşekkür ederim.
Saygılarımla.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Oradan bakınca, Şaban bey gibi mi görünüyorum yoksa :)

İnsan insana benzermiş ama; kendisiyle, hiç yüzyüze görüşme fırsatımız olmadığı için benzerlik konusunda bir fikir yürütemeyeceğim ...

Bu arada; Şaban bey'in de kulaklarını çınlattık ... :)
 
Katılım
27 Ekim 2007
Mesajlar
287
Excel Vers. ve Dili
2003 TR
Ferhat Hocamdam özür dilerim

Hocam
Oldu bir yanlışlık AFFET
İşte serbest kürsü
İşte itiraf
ÖZÜR DİLERİM
Karıştırdım bir an
Daha fazla kızartma beni.Şuan bayabi utanıyorum.
Saygılarımla.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
İlahi ! .... Latife olsun diye yazdım onları limanC34 :) Gönüller bir olsun, yeter ...

Hassasiyetiniz için de ayrıca teşekkür ederim.
 
Üst