• DİKKAT

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

Çözüldü Tablodaki verileri tek bir sütunda sıralama

ptcsite

Altın Üye
Katılım
8 Nisan 2016
Mesajlar
139
Excel Vers. ve Dili
M.OFFICE 2021 TR 64 Bit
Ekte tabloda verilen isimler A Sütununa önce B sütunundaki veriler sıralanacak ardından C sütunundaki veriler daha sonra D sütunu .... diye A sütununda bütün veriler nasıl sıralanabilir?
 

Ekli dosyalar

Ofis 365 için alternatifler;

C++:
=SIRALA(SÜTUNA(DEVRİK_DÖNÜŞÜM(B2:F17);3);;1)

C++:
=SIRALA(FİLTRE(DÜŞEYYIĞ(B2:B17;C2:C17;D2:D17;E2:E17;F2:F17);DÜŞEYYIĞ(B2:B17;C2:C17;D2:D17;E2:E17;F2:F17)<>0);;1)
 
Ofice 16 kullanıyorum. Bunu görmüştün ama sırala fonksiyonu yok... Alternatif sunabilecek varmıdır? Bu arada ilginiz için teşekkür ederim Korhan bey
 
Birde officr 365 de yaptığım bu foemulasyon office 2016 da çalılır mı? Kurum program versiyonu düşük çünkü
 
Google Sheets kullanın, hazırladığınız dosyaya her yerden erişebilirsiniz....


.
 
Son düzenleme:
Merhaba,
Makro ile yapmak isterseniz aşağıdak kodu deneyebilirsiniz.
Önce verileri seçip makroyu çalıştırmanız gerek, veriler A sütununa sıralanacaktır.

Kod:
Public Sub Dene()

Dim rn As Range
Dim i As Long

i = 1
Application.ScreenUpdating = False
Range("A2:A" & Rows.Count).ClearContents

For Each rn In Selection
    If Not rn = Empty Then
        i = i + 1
        Cells(i, "A") = rn.Value
    End If
    
Next rn
Range("A2:A" & i).Sort Key1:=[A1]
Application.ScreenUpdating = True

End Sub
 
Merhaba,
Makro ile yapmak isterseniz aşağıdak kodu deneyebilirsiniz.
Önce verileri seçip makroyu çalıştırmanız gerek, veriler A sütununa sıralanacaktır.

Kod:
Public Sub Dene()

Dim rn As Range
Dim i As Long

i = 1
Application.ScreenUpdating = False
Range("A2:A" & Rows.Count).ClearContents

For Each rn In Selection
    If Not rn = Empty Then
        i = i + 1
        Cells(i, "A") = rn.Value
    End If
  
Next rn
Range("A2:A" & i).Sort Key1:=[A1]
Application.ScreenUpdating = True

End Sub
Tablodaki verileri seçtim makro butonu atadım tıkladım çalışmadı... Ama makro penceresinden play e basınca oluyor. Bu nasıl oluyor böyle anlamadım...
 
Merhaba,
Makro ile yapmak isterseniz aşağıdak kodu deneyebilirsiniz.
Önce verileri seçip makroyu çalıştırmanız gerek, veriler A sütununa sıralanacaktır.

Kod:
Public Sub Dene()

Dim rn As Range
Dim i As Long

i = 1
Application.ScreenUpdating = False
Range("A2:A" & Rows.Count).ClearContents

For Each rn In Selection
    If Not rn = Empty Then
        i = i + 1
        Cells(i, "A") = rn.Value
    End If
   
Next rn
Range("A2:A" & i).Sort Key1:=[A1]
Application.ScreenUpdating = True

End Sub
Bu kodda alfabetik sıralıyor ayrıca ben kolonları sıra ile dizelesin istemiştim... Yani sırasıyla B-C-D- sütunlarına o sütunu bitirdikten sonra geçsin
 
Şu şekilde kodladım ama daha basiti yapılabilir mi?
 

Ekli dosyalar

Merhaba,
Ben sorunuzu tam olarak anlamamışım, aşağıdaki kodları dener misiniz?


Kod:
Public Sub Listele()

Dim col As Integer
Dim c   As Integer
Dim i   As Long
Dim j   As Long

Application.ScreenUpdating = False
col = Cells(2, Columns.Count).End(1).Column

Range("A2:A" & Rows.Count).ClearContents

For c = 2 To col
    j = Cells(Rows.Count, c).End(3).Row
    i = Cells(Rows.Count, "A").End(3).Row + 1
    Range(Cells(2, c), Cells(j, c)).Copy Range("A" & i)
Next c

Application.ScreenUpdating = True

MsgBox "İşlem Tamamlanmıştır...."

End Sub
 

Ekli dosyalar

Merhaba,
Ben sorunuzu tam olarak anlamamışım, aşağıdaki kodları dener misiniz?


Kod:
Public Sub Listele()

Dim col As Integer
Dim c   As Integer
Dim i   As Long
Dim j   As Long

Application.ScreenUpdating = False
col = Cells(2, Columns.Count).End(1).Column

Range("A2:A" & Rows.Count).ClearContents

For c = 2 To col
    j = Cells(Rows.Count, c).End(3).Row
    i = Cells(Rows.Count, "A").End(3).Row + 1
    Range(Cells(2, c), Cells(j, c)).Copy Range("A" & i)
Next c

Application.ScreenUpdating = True

MsgBox "İşlem Tamamlanmıştır...."

End Sub
Teşekkür ederim peki bunu buton ile çalıştırabilirmiyiz..
 
Tabiki, bir buton ekleyin ve o butona makro atayın.
Atadığınız makronun adı Listele olmalı.
 
Tabiki, bir buton ekleyin ve o butona makro atayın.
Atadığınız makronun adı Listele olmalı.
Valla çok sağolun bu kodu da çalışacağım...
Birde şu şekilde ekteki gibi daha pratik çözebildim...
Ama cevabınız ve farklı bir yol ile çözülmüşü gerçekten daha iyi anlamamı sağlıyor... Çok teşekkür ederim.
 

Ekli dosyalar

Bende biraz Google E-Tablo'lar üzerinde çalıştım..

Alternatifler;

C++:
=TOCOL(TRANSPOSE(B2:F18);1)

C++:
=FILTER(FLATTEN(B2:F18);LEN(FLATTEN(B2:F18)))

C++:
=QUERY(FLATTEN(TRANSPOSE(B2:F18));"Select * Where Col1 Is Not Null")
 
Bende biraz Google E-Tablo'lar üzerinde çalıştım..

Alternatifler;

C++:
=TOCOL(TRANSPOSE(B2:F18);1)

C++:
=FILTER(FLATTEN(B2:F18);LEN(FLATTEN(B2:F18)))

C++:
=QUERY(FLATTEN(TRANSPOSE(B2:F18));"Select * Where Col1 Is Not Null")

Hocam çok teşekkür ederim. Bu forumu seviyorum. Hem öğreniyorum hem de farklı alternatifleri görüyorum. İnsan gerçekten geliştiriyor kendini
 
Geri
Üst