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

#5
Kod:
Sub SayisalVeriIsleme()
    Dim ws As Worksheet, ws2 As Worksheet
    Dim SourceRange As Range, TargetRange As Range, Cell As Range
    Dim DataArr() As String
    Dim i As Integer, newrow As Long
   
    Set ws = ThisWorkbook.Sheets("örnek")
    Set SourceRange = ws.Range("A1:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row)
    Set ws2 = Sheets.Add(After:=Sheets(Sheets.Count))
    ws2.Name = "Sonuç Sayfası"
    Set TargetRange = ws2.Range("A1")
    newrow = 1
   
    For Each Cell In SourceRange
        If Not IsEmpty(Cell.Value) Then
            DataArr = Split(Cell.Value, ",")
            For i = LBound(DataArr) To UBound(DataArr)
                If IsNumeric(Trim(DataArr(i))) Then
                    TargetRange.Value = Trim(DataArr(i))
                    Set TargetRange = TargetRange.Offset(1, 0)
                    newrow = newrow + 1
                End If
            Next i
        End If
    Next Cell
   
    ws2.Range("A1:A" & newrow).Sort key1:=ws2.Range("A1"), order1:=xlAscending, Header:=xlNo
   
    For i = SourceRange.Rows.Count To 1 Step -1
        Set Cell = SourceRange.Cells(i, 1)
        If Not IsNumeric(Cell.Value) And InStr(1, Cell.Value, ",") = 0 And Len(Trim(Cell.Value)) > 0 Then
            Cell.EntireRow.Delete
        End If
    Next i
End Sub

şeklinde güncelleyin kodu. Bu kod öncekinden farklı olarak çalışmanıza sonuç sayfası adlı bir çalışma sayfası ekleyerek orada listeler sonuçlarınızı. 700000 gibi kayıtla bu işlemi yapmak için excelde çok doğru bir tercih değil performans sorunu yaşayacaksınız. Bu ayıklamayı excele aktarmadan önce kaynakta yapmayı denemenizi tavsiye ederim.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Bir Excel Hücresinde Sayısal Değerleri Sıralama - Yazar: atoykan - 07/02/2024, 09:00
Task