• DİKKAT

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

Kişi çekme

Katılım
1 Ekim 2017
Mesajlar
694
Excel Vers. ve Dili
2019 türkçe
Ekli dosyamın 1. sayfasında 30 kişilik bir listem var bunlardan 10 kişiyi sayfa 2 ye çekmem gerekiyor. Örneğin 3. sıradakini 1. sıraya 5. sıradakini 2. sıraya bu şekilde sırayla. Kalan 20 kişiden 5 kişiyide sayfa 3 e aynı şekilde çekmem gerekiyor. Şimdiden herkese çok teşekkür ediyorum
 

Ekli dosyalar

  • 99.xlsm
    99.xlsm
    12.3 KB · Görüntüleme: 6
Diğer sayfalara aktarılacak isimler için KURAL belirtmek yerine örneğin.... gibi yazmışsınız.
Örneğin... yerine net şekilde; "ilk kişiden başlayarak ve birer atlayarak sayfa 2'ye, atlananlardan ilk 5'ini ise sayfa 3'e" gibi NET KURAL yazmalısınız.
 
Diğer sayfalara aktarılacak isimler için KURAL belirtmek yerine örneğin.... gibi yazmışsınız.
Örneğin... yerine net şekilde; "ilk kişiden başlayarak ve birer atlayarak sayfa 2'ye, atlananlardan ilk 5'ini ise sayfa 3'e" gibi NET KURAL yazmalısınız.[/QUOT
İyi çalışmalar . Bize gelen liste karışık geldiği için 2. sayfaya 1,2,3, 8,9,25. satırlarda ismi olabiliyor o yüzden belli bir kuralı yok.
 
Buyurun.:cool:
Kod:
Sub atla_59()
Dim sh As Worksheet, say As Byte, sat As Byte, sat2
Set sh = Sheets("1")
sonsat = sh.Cells(Rows.Count, "A").End(xlUp).Row
Sheets("3").Select
sat = 5
sat2 = 3
sat3 = 3
Range("A3:F" & Rows.Count).ClearContents
Do While say < 5
    If sat Mod 2 Then
        Range("B" & sat3 & ":F" & sat3).Value = sh.Range("B" & sat & ":F" & sat).Value
        sat2 = sat2 + 1
        say = say + 1
        sat3 = sat3 + 1
    Cells(sat3 - 1, "A").Value = say
    End If
    sat = sat + 1
Loop
End Sub
 
Buyurun.:cool:
Kod:
Sub atla_59()
Dim sh As Worksheet, say As Byte, sat As Byte, sat2
Set sh = Sheets("1")
sonsat = sh.Cells(Rows.Count, "A").End(xlUp).Row
Sheets("3").Select
sat = 5
sat2 = 3
sat3 = 3
Range("A3:F" & Rows.Count).ClearContents
Do While say < 5
    If sat Mod 2 Then
        Range("B" & sat3 & ":F" & sat3).Value = sh.Range("B" & sat & ":F" & sat).Value
        sat2 = sat2 + 1
        say = say + 1
        sat3 = sat3 + 1
    Cells(sat3 - 1, "A").Value = say
    End If
    sat = sat + 1
Loop
End Sub
Sayın Orion1 ilginiz çok teşekkür ederim. Bana liste karışık geliyor. 1.,3.6.8,9,15.20. sıradaki gibi. Bunları tek tekte toplu olarakta aktarabiliriz. Yanlız kimlerin aktarılacağı karışık geldiği için tek tek alt alta aktarma imkanımız varsa çok iyi olur. İyi çalışmalar.
 
Hayırlı sabahlar arkadaşlar, iyi çalışmalar. Sorunumu iyi anlatamadım herhalde. Şimdi başka bir yol ile sizlerin desteği ile başka bir yol ile yapmaya çalışacağım. Sayfa 1 deki herhangi bir personelin sıra numarasını sayfa 2 veya 3 teki sıraya yazdığımda o kişiye ait bilgiler gelebilir mi acaba. Örneğin 20. sıradaki kişi sayfa 3 1.satırına 20 yazarsak bilgileri gelebilir mi. Şimdiden tüm arkadaşlara teşekkür edemiyorum.
Not: sayfalar daha fazla olabilir.
 

Ekli dosyalar

  • 99.xlsm
    99.xlsm
    12.3 KB · Görüntüleme: 2
Merhaba;
Alternatif olsun.
Eki deneyin.
İyi çalışmalar.

Not: Bir Sıra No'su bir sayfaya yazıldı ise başka bir sayfaya yazılmaması gerekiyor diye düşündüm. Dolayısıyla böyle bir No'ya ait bilgiler ikinci yazılışında gelmeyecek. Bunun için data sayfasında sırası sütunundan (G sütunu) sayfa adını delete ile silmelisiniz.
Eğer her sayfaya yazılabilmeli diyorsanız kodlarda;
If sırası >= 1 And s1.Cells(sırası, "g") = "" Then
satırından;
And s1.Cells(sırası, "g") = ""
Kısmını silin.

Ayrıca üstteki yazınızın "Şimdiden tüm arkadaşlara teşekkür ... " kısmında yazılım hatası mı var?
 

Ekli dosyalar

Son düzenleme:
Merhaba;
Alternatif olsun.
Eki deneyin.
İyi çalışmalar.

Not: Bir Sıra No'su bir sayfaya yazıldı ise başka bir sayfaya yazılmaması gerekiyor diye düşündüm. Dolayısıyla böyle bir No'ya ait bilgiler ikinci yazılışında gelmeyecek. Bunun için data sayfasında sırası sütunundan (G sütunu) sayfa adını delete ile silmelisiniz.
Eğer her sayfaya yazılabilmeli diyorsanız kodlarda;
If sırası >= 1 And s1.Cells(sırası, "g") = "" Then
satırından;
And s1.Cells(sırası, "g") = ""
Kısmını silin.

Ayrıca üstteki yazınızın "Şimdiden tüm arkadaşlara teşekkür edemiyorum. " kısmında yazılım hatası mı var?
Çok teşekkür ederim. Hayırlı çalışmalar. Emeğinize sağlık
 
Merhaba;
Alternatif olsun.
Eki deneyin.
İyi çalışmalar.

Not: Bir Sıra No'su bir sayfaya yazıldı ise başka bir sayfaya yazılmaması gerekiyor diye düşündüm. Dolayısıyla böyle bir No'ya ait bilgiler ikinci yazılışında gelmeyecek. Bunun için data sayfasında sırası sütunundan (G sütunu) sayfa adını delete ile silmelisiniz.
Eğer her sayfaya yazılabilmeli diyorsanız kodlarda;
If sırası >= 1 And s1.Cells(sırası, "g") = "" Then
satırından;
And s1.Cells(sırası, "g") = ""
Kısmını silin.

Ayrıca üstteki yazınızın "Şimdiden tüm arkadaşlara teşekkür edemiyorum. " kısmında yazılım hatası mı var?
Tüm arkadaşlara teşekkür ederim. Yukarıda yazım hatası olmuş özür dilerim.
 
Geri
Üst