• DİKKAT

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

sıralama

  • Konbuyu başlatan Konbuyu başlatan gagga
  • Başlangıç tarihi Başlangıç tarihi
Katılım
9 Eylül 2012
Mesajlar
4
Excel Vers. ve Dili
excel
arkadaşlar kolay gelsin, elimde tüm satır ve sütünları yani tüm hücreleri sayılarla dolu bir tablo var. ama içindeki sayılar karışık. ben a1 den başlayarak soldan sağa küçükten büyüğe artarak sıralanmasını istiyorum. Sayılar ardışık değil. Teşekkür ederim.
 
Bu tip sorular için kullanmış olduğunuz dosyayı veya benzerini örnek olarak eklemeniz isabetli ve düzgün yanıtlar için iyi olacaktır.

Örneğin, satır ve sütunlarda veya veriler arasında boşluk var mı ? vb... durumlar tekrar tekrar cevap yazmayı gerektirebilir. İşte bu tür durumlardan kaçınmak için örnek dosya her zaman iyidir.
 
aslında bendeki veriler tüm tabloda olacak ama gönderdiğim dosyada satır ve sütünlarda rakamlar var. Ben bu tablodan A1 de başlayarak rakamlarım küçükten büyüğe sıralanmasını istiyorum. Yani 1. sıradaki satır bittiği zaman sıralama 2. satırdan kaldığı yerden devam edecek. Aynı rakamların elenmesi istiyorum ama önce bu konuyu öğrenmem gerek. Saygılar
 

Ekli dosyalar

aslında bendeki veriler tüm tabloda olacak ama gönderdiğim dosyada satır ve sütünlarda rakamlar var. Ben bu tablodan A1 de başlayarak rakamlarım küçükten büyüğe sıralanmasını istiyorum. Yani 1. sıradaki satır bittiği zaman sıralama 2. satırdan kaldığı yerden devam edecek. Aynı rakamların elenmesi istiyorum ama önce bu konuyu öğrenmem gerek. Saygılar

Ekli dosyayı inceleyin.
 

Ekli dosyalar

Buda farklı bir sıralama

Kod:
Option Explicit
Sub sırala2()
Dim x, j, i, k, sat1, n, r, sut, sat
Application.ScreenUpdating = False
Set j = CreateObject("Scripting.Dictionary")
sut = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
sat = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
For Each x In Range(Cells(1, 1), Cells(sat, sut)).Cells
If x.Value <> "" Then
If IsNumeric(x.Value) = True Then
If Not j.exists(x.Value) Then
j.Add x.Value, Nothing
k = k + 1
Cells(k, sut + 1).Value = x.Value
End If
End If
End If
Next x
Columns(sut + 1).Sort Key1:=Cells(1, sut + 1), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
Range(Cells(1, 1), Cells(sat, sut)).ClearContents
sat1 = 1
n = 0
For r = 1 To Cells(Rows.Count, sut + 1).End(3).Row
n = n + 1
Cells(sat1, n).Value = Cells(r, sut + 1).Value
If n = sut Then n = 0: sat1 = sat1 + 1
Next r
Columns(sut + 1).ClearContents
Application.ScreenUpdating = True
MsgBox "işlem tamam"
End Sub
 
mükemmel. ama bir sorum daha olacak. eğer ben bu tabloyu genişletmek istersem yani daha fazla rakam daha fazla sütun daha fazla satır yapmam gerekenler kod da 'r'harfini değiştirmek mi olacak yoksa... yardımcı olabilirseniz. bi ödevim var bitmesi için çok fazla zamanım yok. Saygılar.
 
tüm tablo için geçerli yani bütün satır ve sütünların dolu olduğu rakamların bu şekilde sıralanması için ne yapabilirim. bu kodu sisteme girdiğimde run time error 1004 yazıyor.
 
Geri
Üst