Skip to main content

AccessTr.neT


Bir Excel Hücresinde Sayısal Değerleri Sıralama

Bir Excel Hücresinde Sayısal Değerleri Sıralama

#7
@atoykan hocamın yöntemine alternatif olarak dizi ile de yapılabilir
Sub VeriAlSirala()
Dim ws As Worksheet
Dim SourceRange As Range, TargetRange As Range, Cell As Range
Dim DataArr() As String, ResultArr() As String
Dim StrSay As Long, j As Integer
Dim TmpDz As Variant, SonDz As Variant, xDz As Variant

Set ws = ThisWorkbook.Sheets("örnek")
xDz = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row).Value2
ReDim SonDz(1 To 1000000, 0)
StrSay = 0
For Each xitm In xDz
TmpDgr = "," & xitm
TmpDz = Split(TmpDgr, ",")
For x = 1 To UBound(TmpDz)
If IsNumeric(TmpDz(x)) Then StrSay = StrSay + 1: SonDz(StrSay, 0) = TmpDz(x)
Next x
Next xitm

ws.Range("C1").Resize(StrSay, 1) = SonDz
ws.Range("C1:C" & StrSay).Sort key1:=ws.Range("C1"), order1:=xlAscending, Header:=xlNo

End Sub
Cevapla
#8
1 milyonu geçerse muhtemelen 2 parça yaparım. kodları denedim ikisi de çok güzel olmuş emeği geçenlere teşekkürlerimi arz ederim.
Cevapla
#9
2 parça ya da 5 parça o kısım önemli değil aslında.
Benim sorma sebebim bu durumda sıralamanın nasıl olacağı.
Diyelim sonuçta 3 milyon satır veri çıktı yani 3 parçaya ayırdık, artış nasıl olacak? aşağı doğru artıp 2.si kaldığı yerden en üstten mi başlayacak
yoksa soldan sağa artıp alt satıra mı geçecek?
Cevapla
#10
veri sabit burada benim için önemli  olan  bozulmuş olan rakamların  alt  alta dizilmesi
solda 1 milyon veri varsa örnekte gönderdiğim gibi 1 milyon verinin sağlıklı bir şekilde sol hücreye transferi solda 2 milyona yaklaşır. buradaki amaç soldaki hücredeki verinin hatasız bir şekilde sağdaki hücreye alt alta dizilişi bunu da yapmışsınız çok teşekkür ederim.
Son Düzenleme: 07/02/2024, 19:53, Düzenleyen: 208319. (Sebep: düzeltme)
Cevapla
#11
veri sabitse sorun yok
iyi çalışmalar.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task