Soru Yanyana Sayısal Sıralama

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
515
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027
Üstadlar Merhaba;

H8:J1500 arasında sayılarım var. Bunları H>I>J şeklinde satır bazında olduğu yere sıralamak istiyorum.

Mesela ilk satırlar şöyle düzelmeli.

H8 1400-500-18
H9 1500-500-18
H10 1900-400-10

VBA ile mümkün mü?

Soru.PNG
 

Ekli dosyalar

Son düzenleme:

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
515
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,353
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kendim için zamanında yaptığım kodu buraya ekliyorum.
Sıkıntı önce sıralanacak hücrelerin seçili olması.
Acil çözüm olarak düşünün :)

Önce seçin sonra yatay sıralamayı seçin.
Kod:
Function BubbleSort(Arr As Variant)

    Dim Temp    As Variant, _
        strTemp As Variant, _
        i       As Long, _
        j       As Long, _
        LngMin  As Long, _
        lngMax  As Long
    
    LngMin = LBound(Arr)
    lngMax = UBound(Arr)
    
    For i = LngMin To lngMax - 1
    
        For j = i + 1 To lngMax
        
            If Arr(i) < Arr(j) Then
            
                strTemp = Arr(i)
                Arr(i) = Arr(j)
                Arr(j) = strTemp
                
            End If
            
        Next j
        
    Next i
    
    BubbleSort = Arr
    
End Function

Sub YataySirala()

    Dim Hcr As Range, _
        Sat As Integer, _
        Sut As Integer, _
        r   As Integer, _
        c   As Integer, _
        i   As Long, _
        j   As Integer, _
        Ary As Variant

    Application.ScreenUpdating = False
    
    If Selection.Count > 1 Then
    
        r = Selection.Rows.Count
        c = Selection.Columns.Count
        
        ReDim Ary(c - 1)
        
        For i = 1 To r
        
            For Sut = 1 To c
            
                Ary(Sut - 1) = Selection(i, Sut).Value
                
            Next Sut
            
            BubbleSort Ary
            
            Selection(i, 1).Resize(1, c) = Ary
            
        Next i
    
    End If

    Application.ScreenUpdating = True
    
End Sub
 

leonadies

Excel Derya Deniz Bizde Kulaç Atmaya Çalışıyoruz:)
Altın Üye
Katılım
12 Şubat 2015
Mesajlar
515
Excel Vers. ve Dili
Office 2016 TR 64 Bit Windows
Altın Üyelik Bitiş Tarihi
01-02-2027
seçme işinide makro ile yapabilceğimize göre sorun yok :) yerinde uygulaması da oldukça güzel. Teşekkür ederim :)
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,353
Excel Vers. ve Dili
Ofis 365 Türkçe
Kodlar benden, rötüş sizden :)
 
Üst