• DİKKAT

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

gruplama ve sıralama

Katılım
8 Kasım 2009
Mesajlar
68
Excel Vers. ve Dili
2003
Merhabalar,ekteki dosyaya A ve B sütunlarına veritabanından veri yazdırıyorum daha sonra bunları R4-aa44 formüllerle büyükten küçüğe doğru başharflerine göre sıralıyorum.Ancak veri tabanından A ve B sütununa veri yazdırırke dosya formüller nedeniyle kilitleniyor.Makro ile başka bir yolla yazılırsa sorun çözülebilir diye düşünüyorum.Yardımlarınızı bekliyorum.Tşkler.
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Kod:
Option Explicit
 
Sub GrupAyir()
Dim i, sat, son As Long, sut, j As Integer
Application.ScreenUpdating = False
Application.Calculation = xlManual
son = [A65536].End(3).Row
Range("D4:M" & son).ClearContents
For i = 4 To son
    sut = 0
    For j = 4 To 12 Step 2
        If Left(Cells(i, "A"), 1) = Left(Cells(2, j), 1) Then
            sut = j
            Exit For
        End If
    Next j
    If sut > 0 Then
        sat = Cells(65536, sut).End(3).Row + 1
        Cells(sat, sut) = Cells(i, "A")
        Cells(sat, sut + 1) = Cells(i, "B")
    End If
Next i
Range("D4:E" & son).Sort Range("D4"): Range("F4:G" & son).Sort Range("F4")
Range("H4:I" & son).Sort Range("I4"): Range("J4:K" & son).Sort Range("J4")
Range("L4:M" & son).Sort Range("L4")
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub

Dosyanız ektedir.

.
 

Ekli dosyalar

Çok teşekkür ediyorum.Büyükten küçüğe doğru sıralama yapılabilirmi.
 
Son düzenleme:
Eki inceleyin. Ayrıca, A sütununa yanlış veri giriş kontrolünü de ekledim.

.
 

Ekli dosyalar

sanırım yanlış anlaşıldı.Ben d4 ile m44 arasındaki kodlar ile süreleri büyükten küçüğe doğru sıralayabilirmiyiz diye sormuştum.Olursa tabi eğer olmassa bu şekildede işimi görür ama daha kolaylık olur benim için.
 
Büyükten küçüğe sıralama yapıyor. Denemediniz mi?

.
 
Süreye göre istemişsiniz. Yeni farkettim.

Kodları aşağıdaki gibi değiştirin.


Kod:
Option Explicit
Sub GrupAyir()
Dim i, sat, son As Long, sut, j As Integer
Application.ScreenUpdating = False
Application.Calculation = xlManual
son = [A65536].End(3).Row
Range("D4:M" & son).ClearContents
Range("A4:B" & son).Interior.ColorIndex = 34
For i = 4 To son
    sut = 0
    For j = 4 To 12 Step 2
        If Left(Cells(i, "A"), 1) = Left(Cells(2, j), 1) Then
            sut = j
            Exit For
        End If
    Next j
    If sut > 0 Then
        sat = Cells(65536, sut).End(3).Row + 1
        Cells(sat, sut) = Cells(i, "A")
        Cells(sat, sut + 1) = Cells(i, "B")
     Else
        MsgBox Cells(i, "A") & " Değerinin Karşılığını Bulamadım, Satır Numarası : " & i
        Range("A" & i & ":B" & i).Interior.ColorIndex = 3
     End If
Next i
Range("D4:E" & son).Sort Range("E4"), xlDescending: Range("F4:G" & son).Sort Range("G4"), xlDescending
Range("H4:I" & son).Sort Range("I4"), xlDescending: Range("J4:K" & son).Sort Range("K4"), xlDescending
Range("L4:M" & son).Sort Range("M4"), xlDescending
Application.ScreenUpdating = True
Application.Calculation = xlAutomatic
End Sub

.
 
Tamam şimdi oldu.Teşekkürlerimi iletiyorum.Kolay gelsin.
 
Geri
Üst