• DİKKAT

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

Gruplandırma

Katılım
22 Mayıs 2007
Mesajlar
178
Excel Vers. ve Dili
2016 English
Elimede 12 bin satırlı dosya var. A stununda kırmız renkli olanlar gruplansın diye birşey yapabilirmiyiz.

Saygılarımla.
 
Elimede 12 bin satırlı dosya var. A stununda kırmız renkli olanlar gruplansın diye birşey yapabilirmiyiz.

Saygılarımla.

Merhaba
Gruplandırma tek bir aralıktaysa evet, aralıklı ise hayır.
Örnek dosyanızı elerseniz, alternatif çözümler olabilir.
 
Dosyayı Ektedir.

Saygılarımla.
 

Ekli dosyalar

  • Kod.rar
    Kod.rar
    94.1 KB · Görüntüleme: 17
Son düzenleme:
Merhaba

İstediğiniz mümkün, telaşlanmayın. :)
2 yöntem izlenebilir.
Eğer listeniz renklendirilmiş ise bu renge göre gruplandıralım.
Eğer henüz renklendirilmemişse (12.000 satır diyorsunuz, boşuna uğraşmayın) kodlamaya göre gruplandırılır.
 
Merhaba

Ek dosyadaki gibi mi?
Kod:
Sub Gruplandir()
On Error Resume Next
Cells.Rows.Ungroup
    ss = [b65536].End(3).Row
    For x = 3 To ss
        If Cells(x, 2).IndentLevel > 0 Then Cells(x, 2).InsertIndent -1 * Cells(x, 2).IndentLevel
        If Cells(x, 2) Like "??.??.??.??" Then
            Cells(x, 7) = 1
        ElseIf Cells(x, 2) Like "??.??.??.???" Then
            Cells(x, 7) = 2
        Else
            Cells(x, 7) = 3
        End If
        If Cells(x, 7) > 0 Then Cells(x, 2).InsertIndent Cells(x, 7)
    Next x
Rem ??.??.??.?? şeklinde olanları gruplandır
    For x = 3 To ss
        If Cells(x, 7) = 1 Then
            For y = x To ss
                If Cells(y, 7) <> 1 Then
                    Exit For
                End If
            Next y
            bas = x: son = y - 1:

                Range(Cells(bas, 7), Cells(son, 7)).Rows.Group
                
            x = y
        End If
    Next x
    
Rem ??.??.??.??? şeklinde olanları gruplandır
    For x = 3 To ss
        If Cells(x, 7) = 2 Then
            For y = x To ss
                If Cells(y, 7) <> 2 Then
                    Exit For
                End If
            Next y
            bas = x: son = y - 1:

                Range(Cells(bas, 7), Cells(son, 7)).Rows.Group
                
            x = y
        End If
    Next x
        Columns("G:G").ClearContents

    MsgBox "Bittim..."
End Sub
 

Ekli dosyalar

  • Kod.rar
    Kod.rar
    112.4 KB · Görüntüleme: 30
Eline sağlık bir önceki grubu silmemesini sağlayabilirmiyiz.

Merhaba
Aşağıdaki satırları silerseniz önceki gruplandırma kalır.
Kod:
On Error Resume Next
Cells.Rows.Ungroup

Burada ince bir nokta var, silip silmeme kararını buna göre verin.
Gruplandırmayı yaptıktan sonra 01.01.01.08'nin altına sonradan 01.01.01.09 eklerseniz iç içe grup olacaktır.
Bu nedenle kod çalışmadan sayfada gruplandırma varsa kaldırır.
 
Satırları silince olmadı ama bu haliylede cok işime yaradı.Ekteki dosyada Cemil'in altında kalanları grup kısmında nasıl + gösterebilirim.

Saygılarımla
 

Ekli dosyalar

Ekteki dosyayı kodunuza göre çalıştıramadım.Acaba bu konuda yardımcı olabilirmisiniz.Yardımcı olabilen varmı acaba.
 

Ekli dosyalar

Eklediğim dosyaya uzmanamele ustadimizin kodunu uygulayamadim çalışmadı. Bu konuda yardımcı olursanız olabilirseniz çok sevinirim

Saygılarımla.
 
Merhaba

Aşağıdaki satırı değiştirerek deneyiniz.
Kod:
        ElseIf Cells(x, 2) Like "??.??.??.???[COLOR="Red"]?[/COLOR]" Then
 
Çok Teşeküür Ederim Kahramanım.
 
Geri
Üst