Seçili sekmeleri alfabetik olarak sıralamak

Katılım
17 Mayıs 2012
Mesajlar
102
Excel Vers. ve Dili
Office 2019, Türkçe
Aşağıdaki kodla excel dosyamdaki tüm sekmeleri alfabetik sıralayabiliyorum ancak bazen tüm sekmeleri değil sadece seçtiğim sekmelerin sıralanmasını istiyorum. Bunun için ne yapmam gerek?

Kod:
Sub sirala()
For a = 1 To Sheets.Count
For b = a + 1 To Sheets.Count
If LCase(Sheets(b).Name) > LCase(Sheets(a).Name) Then GoTo 10
Sheets(b).Move before:=Sheets(a)
10 Next
Next
End Sub
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Deneyin
Kod:
Sub sayfadiz()
Set say = ActiveWindow.SelectedSheets
  Dim sıra As Object
  Dim i As Integer
  Set sıra = CreateObject("System.Collections.ArrayList")
  Top = say.Count
 For i = 1 To Top
    sıra.Add say(i).Name
   inx = say(i).Index
  Next i
  sıra.Sort
  sıra.Reverse
   For i = Top - 1 To 0 Step -1
   Sheets(sıra(i)).Move after:=Sheets(inx)
   Next
End Sub
 
Son düzenleme:
Katılım
17 Mayıs 2012
Mesajlar
102
Excel Vers. ve Dili
Office 2019, Türkçe
Kod çalışıyor teşekkürler. Bu da işimi görür ama seçilenleri sıraladıktan sonra en başa getiriyor. seçtiğim yerde kendi aralarında sıralama imkanı var mı? Yoksa sıraladıklarını en sona taşısın oda olur
Tekrar teşekkürler
Deneyin
Kod:
Sub sayfadiz()
Set say = ActiveWindow.SelectedSheets
  Dim sıra As Object
  Dim i As Integer
Dim Top As Integer
  Set sıra = CreateObject("System.Collections.ArrayList")
  Top = say.Count
For i = 1 To Top
    sıra.Add say(i).Name
  Next i
  sıra.Sort
  sıra.Reverse
   For i = 0 To Top - 1
   Sheets(sıra(i)).Move before:=Sheets(1)
   Next
End Sub
 
Son düzenleme:
Üst