• DİKKAT

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

Sayfaları sıralama

Katılım
23 Ocak 2011
Mesajlar
293
Excel Vers. ve Dili
2007 excel
Selamlar,
Sıraya koy butonuna basınca ilk 7 sayfa sabit kalıp diğer sayları b6 dan sonraki listeye göre sıralamak istiyorum. Teşekkürler.
 
Son düzenleme:
Örnek dosyayı düzelterek tekrar veriyorum. Sayfaları alfabetik değil belli bir listeye göre sıralayabilirmiyim
Sıraya koy butonuna basınca ilk 7 sayfa sabit kalıp diğer sayları b6 dan sonraki listeye göre sıralamak istiyorum. Teşekkürler.
 

Ekli dosyalar

Merhaba,

Aşağıdaki kodları deneyiniz.

Kod:
Sub Sayfalari_Sirala()
 
    Dim i As Integer, _
        j As Integer
        
    If Worksheets.Count < 8 Then Exit Sub
    
    With Application
        .Calculation = xlManual
        .ScreenUpdating = False
    End With
    
    For i = 8 To Worksheets.Count - 1
        For j = 9 To Worksheets.Count
            If StrComp(Sheets(j).Name, Sheets(i).Name, vbTextCompare) = -1 Then
                Worksheets(j).Move before:=Worksheets(i)
            End If
        Next j
    Next i
    
    With Application
        .Calculation = xlAutomatic
        .ScreenUpdating = False
    End With
    
End Sub
 
İlginiz için teşekkürler ,Ama ben Anasayfadaki listeye göre sıralamasını istiyorum bu neye göre sıraladı anlamdım.
 
Merhaba,

Alternatif olarak aşağıdaki kodu denermisiniz.

Kod:
Option Explicit
 
Sub SAYFALARI_SIRALA()
    Dim S1 As Worksheet, X As Integer, Say As Integer, Sayfa As Worksheet
    
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    
    Set S1 = Sheets("ANASAYFA")
    Say = 8
    
    For X = 6 To S1.Cells(Rows.Count, 1).End(3).Row
        On Error Resume Next
        Set Sayfa = Sheets(S1.Cells(X, 2).Text)
        On Error GoTo 0
        If Not Sayfa Is Nothing Then
            Sayfa.Move Before:=Sheets(Say)
            Say = Say + 1
        End If
        Set Sayfa = Nothing
    Next
    
    S1.Select
    Set S1 = Nothing

    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Korhan Bey çok teşekkür ederim.
 
Geri
Üst