• DİKKAT

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

Otomatik alınan verilerin bulunduğu hücrenin sıralanması

Katılım
16 Aralık 2019
Mesajlar
63
Excel Vers. ve Dili
Excell 2019 TR
Merhaba, Excel 2016 kullanıyorum. Webden Al özelliğini kullanarak verileri dakikada 1 yeniden yüklüyor. Yeniden yüklenen verilerin büyükten küçüğe sıralanmasını istiyorum, bu amaçla aşağıdaki kodu buldum ama bu kodun çalışması için mutlaka sayfada bir kere belli bir hücrede ENTER tuşuna basmam gerekiyor. Veriler otomatik olarak yüklenir yüklenmez otomatik olarak yeniden sıralanmasını nasıl sağlarım acaba? Yardımlarınız için teşekkürler.

Şu an kullandığım kodlar şunlar, ENTER tuşuna basınca sıralama yapıyor ama ben hiç müdahaleye gerek olmadan otomatik sıralanmasını istiyorum:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("R:R")) Is Nothing Then
Range("R2").Sort Key1:=Range("R3"), _
Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
 
isteğiniz kodları selection change içine taşırsanız olur sanırım.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("R:R")) Is Nothing Then
Range("R2").Sort Key1:=Range("R3"), _
Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
 
isteğiniz kodları selection change içine taşırsanız olur sanırım.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("R:R")) Is Nothing Then
Range("R2").Sort Key1:=Range("R3"), _
Order1:=xlDescending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, _
Orientation:=xlTopToBottom
End If
End Sub
Cevabınız için teşekkür ederim ne yazık ki değişmedi. Otomatik yeniden yüklenen veriler kendiliğinden sıralanmıyor.
 
Son düzenleme:
Private Sub Worksheet_Change(ByVal Target As Range) satırını Private Sub Worksheet_Calculate() olarak değiştiriniz, çalışacaktır.
 
tE
Private Sub Worksheet_Change(ByVal Target As Range) satırını Private Sub Worksheet_Calculate() olarak değiştiriniz, çalışacaktır.
Teşekkürler hocam çalıştı ancak bu sefer de hiçbir hücreye tıklanmıyor. o sayfada işlem yapmama izin vermiyor ve Excel donmaya ve kasmaya başladı. zorla kapatmaktan başka çare kalmadı
 
Sayfada kullanmadığınız bir hücreye (R sütunu hariç) =R3 yazınız. aşağıdaki koduda sayfanın kod bölümüne ekleyiniz.
Kod:
Private Sub Worksheet_Calculate()
    Application.EnableEvents = False
    On Error Resume Next
    If Not Intersect(Target, Range("R:R")) Is Nothing Then
        Range("R2").Sort Key1:=Range("R3"), _
        Order1:=xlDescending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom
    End If
    Application.EnableEvents = True
End Sub
 
Sayfada kullanmadığınız bir hücreye (R sütunu hariç) =R3 yazınız. aşağıdaki koduda sayfanın kod bölümüne ekleyiniz.
Kod:
Private Sub Worksheet_Calculate()
    Application.EnableEvents = False
    On Error Resume Next
    If Not Intersect(Target, Range("R:R")) Is Nothing Then
        Range("R2").Sort Key1:=Range("R3"), _
        Order1:=xlDescending, Header:=xlYes, _
        OrderCustom:=1, MatchCase:=False, _
        Orientation:=xlTopToBottom
    End If
    Application.EnableEvents = True
End Sub
Hocam çok teşekkür ederim sorunum çözüldü.
 
Geri
Üst