• DİKKAT

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

B sütununa göre sıralama

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba hayırlı geceler.

Ekte gönderdiğim excel dosyamın Sayfa1'de siciller mevcut, butona bastığımda buradaki bilgileri Sayfa2'ye aktarıyor, B sütunundada bu siciller kime ait formülle karşısına getiriyorum, A sütununa göre de sıralama yapıyor, buraya kadar her şey normal.

Sıralamayı B sütununa göre yap dediğimde, formüllerin bulunduğu en son satır yani 976 ile 1000 satırlarında sıralama yapıyor. 1.satıra kadar satırlar boş görünüyor, bir türlü çözemedim.

Yardımcı olur musunuz?
 

Ekli dosyalar

Bu kodlar ile dener misiniz?

Kod:
Sub Aktar()
    Dim j As Byte, i As Long, sat As Long, sh As Worksheet
    Set sh = Sheets("Sayfa2")
    sh.Range("A:B").ClearContents
    sat = 1
    Sheets("Sayfa1").Select
    Application.ScreenUpdating = False
    sonsatir = Sheets("Sayfa1").UsedRange.Rows.Count
    For j = 1 To sonsatir
        For i = 1 To Cells(Rows.Count, j).End(xlUp).Row
           If IsNumeric(Cells(i, j).Value) And Cells(i, j).Value <> "" Then
            sh.Cells(sat, "A").Value = Cells(i, j).Value
            sh.Cells(sat, "B").FormulaR1C1 = "=IF(RC[-1]="""","""",VLOOKUP(C[-1],PERSONEL!C[-1]:C,2,0))"
            sat = sat + 1
          End If
        Next
    Next
    Application.ScreenUpdating = True
    sh.Select
    Set sh = Nothing
    Range("A1").Select
    sonsatir = Sheets("Sayfa2").UsedRange.Rows.Count
    Sheets("Sayfa2").Range("A1:B" & sonsatir).Sort Key1:=[B1], Order1:=xlAscending
    MsgBox "İşlem tamamlandı.", vbInformation, "ASLAN"
End Sub
 
Son düzenleme:
Sayın asri ilginiz için çok teşekkür ediyorum. Aşağıdaki sıralama kodlarını iptal etmeden kodu çalıştırıyorum, yine A sütununa göre sıralama yapıyor.
yine bu kodları iptal ederek çalıştırdığımda B sütununda karışık sıralama yapıyor.

Sheets("Sayfa2").Range("A1:A" & sonsatir).Sort Key1:=[A1], Order1:=xlAscending
'Sheets("Sayfa2").Range("A1:B100000").Sort Key1:=[B1], Order1:=xlAscending
 
Kod güncellendi.
KelimeTemizleme iptal edildi.
 
Sayın asri, ellerinize sağlık, çok teşekkür ediyorum. Tam istediğim gibi çalışıyor. Hayırlı geceler diliyorum.

Her halde B sütunundaki formüllerin 1000 satırına kadar devam etmesinden dolayı sıralamada hata oluyordu.
 
Sayın asri, ellerinize sağlık, çok teşekkür ediyorum. Tam istediğim gibi çalışıyor. Hayırlı geceler diliyorum.

Her halde B sütunundaki formüllerin 1000 satırına kadar devam etmesinden dolayı sıralamada hata oluyordu.

iki konu vardı;
biri Sayfa1 de sanırım sayı haricinde boşluk içeren bir hücre vardı. Detayına bakmadım.
Bunun için aktarmadan önce sayı olma ve boş olmama zorunluğu ekledim.

İkincisi bu formülde A1:B ve B1 ayarlaması yaptım.
Sheets("Sayfa2").Range("A1:B" & sonsatir).Sort Key1:=[B1], Order1:=xlAscending
 
Sayın asri, ellerinize sağlık, çok teşekkür ediyorum.

Hayırlı geceler diliyorum.
 
Geri
Üst