• DİKKAT

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

Karışık sıra noyu küçükten büyüğe sıralama

  • Konbuyu başlatan Konbuyu başlatan byfika
  • Başlangıç tarihi Başlangıç tarihi

byfika

Altın Üye
Altın Üye
Katılım
15 Ağustos 2009
Mesajlar
512
Excel Vers. ve Dili
Excel Vers. ve Dili : Ofis 2016 Tr
Merhabalar,
Farklı bir sayfaya, sıra numarası karışık ve bazı satırlarda sıra no olmadan girilmiş olan verilerden 4 sütununu Userforma alıp süzdürerek YAZ sayfasına kaydediyorum ve print alıp sildiriyorum. Yaz sayfasındaki satır sayısı 300 e kadar çıkabilir (değişken)
YAZ SAYFASI:
A Sütunu : sıra no
B Sütunu : Adı
C Sütunu : Veri1
D Sütunu : Veri2

Userformdan süzüp YAZ sayfasına A2 den başlayarak alttaki kod ile aktarıp yaz butonu ile yazıcıdan çıktı alıyorum.

Private Sub cmdbul5_Click()
ListBox2.RowSource = Empty
ListBox2.Clear
ListBox2.ColumnCount = 4
For Each isim In Sayfa10.Range("d2:d" & Sayfa10.Range("A65536").End(xlUp).Row)
If UCase(LCase(isim)) Like UCase(LCase(ComboBox1)) & "*" Then
liste = ListBox2.ListCount
ListBox2.AddItem
ListBox2.List(liste, 0) = isim.Offset(0, -3)
ListBox2.List(liste, 1) = isim.Offset(0, -2)
ListBox2.List(liste, 2) = isim.Offset(0, -1)
ListBox2.List(liste, 3) = isim

End If
Next
Set s1 = Sheets("YAZ")
s1.[a2:d65536].ClearContents
sat = ListBox2.ListCount
sut = ListBox2.ColumnCount
s1.Range("a2:" & Cells(sat + 1, sut).Address) = ListBox2.List

TextBox5 = " toplam " & " " & ListBox2.ListCount & " " & " kayıt var."
End Sub


Yapmak istediğim;
YAZ sayfasına A2 den itibaren aktardığım verileri sıra numarasına göre dizilmesi ve sıra no olmayan verilerin de son sıra no'dan itibaren kaydedilmesi.
Bilgi için teşekkürler….
 
Merhaba , aşağıdaki kodları "End sub" satırından önce ekleyip deneyiniz..

Kod:
For i = 2 To s1.Cells(Rows.Count, 2).End(3).Row
    If s1.Cells(i, 1) = "" Then s1.Cells(i, 1) = WorksheetFunction.Max(s1.Range("A2:A1000")) + 1
Next
s1.Range("A2:D" & s1.Cells(Rows.Count, 1).End(3).Row).Sort Key1:=s1.[A2], Order1:=xlAscending
 
Son düzenleme:
merhabalar Emre bey Kodlar için teşekkürler. Sıra no olanları sıralıyor. Fakat sıra no yoksa bu verileri kaydetmiyor.
İlginiz için çok teşekkürler.Saygılar.
 
Açıkçası "verileri kaydetmiyor" kısmını tam olarak anlamadım. Verdiğim kodlar ilk önce sıra numarası olmayanlara sıra numarası verip daha sonrasında da sıralaması gerekli aslında.
 
Emre bey, ben sıra no verdiğine dikkat etmedim. İlk mesajımda eksik yazmışım. Kusura bakmayın. İsteğim sıra no olanları sıra nosu ile sırayla kaydetsin, sıra no olamayanları da sıra nosuz kaydetmesi.
Teşekkürler. Saygılarımla...
 
O zaman size sadece sıralama kodları gerekli herhalde ? , Sıra no veren kodları iptal edebilirsiniz..

Kod:
s1.Range("A2:D" & s1.Cells(Rows.Count, 1).End(3).Row).Sort Key1:=s1.[A2], Order1:=xlAscending
 
Teşekkür Emre bey , şuan disaridayim. Dönünce dener size dönerim.
Saygılarımla.
 
Merhabalar Emre bey, kodları denedim. Çalışıyor.
Çok çok teşekkürler. Bilginize sağlık.
Saygılarımla...
 
Rica ederim , iyi çalışmalar.
 
Geri
Üst