• DİKKAT

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

sayfaları alfabetik sıralama

Katılım
16 Nisan 2006
Mesajlar
9
bu sorunumun birincisi excelde alttaki sekmeleri nasıl a dan z ye doğru sıralarım örneğin sekmeler ;

1235 1228 1210 1247 bunları otomatik olarak 1210 1228 1235 1247 sırasına dizebilirim?

ikincisi Excel' e bir buton ekleyip herhangi bir word dosyasından 2 tane çıktı almak istiyorum nasıl yapabilirim ?

şimdiden teşekkkürler...
 
Birinci sorunun cevabı : Eğer excel menüleri arasında "AZ" ikonu varsa; ilgili alanı seçili yapıp "AZ" ikonuna basmanız yeterli olur. Yok ise; ilgili alanı seçip > Veri > Sırala > Tamam
 
Soru yanlış anlaşılmış olup; bu kodu bir modüle yapıştırın.
Not : Bu kod sayfaları alfabetik sıraya göre dizer. Rakam şeklinde olanı denenmemiştir.

Sub Auto_Open()
Dim i As Integer
Dim j As Integer
If Worksheets.Count = 1 Then Exit Sub
For i = 1 To Worksheets.Count - 1
For j = i + 1 To Worksheets.Count
If Worksheets(j).Name < Worksheets(i).Name Then
Worksheets(j).Move before:=Worksheets(i)
End If
Next j
Next i
End Sub
 
Yukarıda verilen kod örneği rakamsal sıralamayıda veriyor. Sayfa sekmelerini rakamsal olarak küçükten büyüğe doğru sıralıyor.
 
excel sayfa adlarını numerik sırlama

Yukarıda verilen kod örneği rakamsal sıralamayıda veriyor. Sayfa sekmelerini rakamsal olarak küçükten büyüğe doğru sıralıyor.

arkadaş evet öyle yapıyor ama malasef rakamlardan oluşan sekme adlarını sırlarken yanlış yapıyor. 11 sayısını 2 den küçük görüyor. yani sıralamayı önce 1. rakalmlara göre sonra 2. rakamlara göre yapıyor. sizden ricam sayısal sekme adlarını da sıralayabilen bir kod vermeniz. teşekkürler.
 
Bu kodlar&#305; denermisiniz? Umar&#305;m istedi&#287;iniz budur.

Sub sayfasirala()
Application.ScreenUpdating = False
Sheets.Add
ActiveSheet.Move After:=Sheets(Sheets.Count)
Set s1 = Sheets(Sheets.Count)
For a = 1 To Sheets.Count - 1
s1.Cells(a, "a") = Sheets(a).Name
s1.[a:a].Sort Key1:=s1.[a1]
deg = Sheets(a).Name
If IsNumeric(deg) = True Then deg = Val(Sheets(a).Name)
say = WorksheetFunction.Match(deg, s1.[a:a], 0)
Sheets(a).Move Before:=Sheets(say)
Next
Application.DisplayAlerts = False
s1.Delete
End Sub
 
bu kod olmu&#351; say&#305;sallar&#305;da s&#305;ral&#305;yor, ben de b&#246;le bi&#351;i bulmaya d&#252;&#351;&#252;n&#252;yordum g&#246;kte ararken yerde buldum.
 
son bir düzenleme daha lazım

Evet bir ahat ile bu kod işimi gördü. Ama hala sağlıklı değil. Sade harf ya da rakamlardan oluşursa sekme adı sorun yok ama sekme adında hem harf hem de rakam varsa diğer arkadaşın çözümündeki sorun devam ediyor. Yani sayfa11 adı sayfa2 adından önce geliyor. Örnek resimde sorun vardır. Çözüm bekler saygılar sunarım. Teşekkürler.

238853excel_siralama_hatasi.gif
 
Son düzenleme:
Sorun: Sayfa adlarının sınırlı sayıda gösterilmesi

Arkadaşlar excel sayfa sıralama ile bulunan çözüm sonunda konforlu bir çalışma alanım oldu fakar sekme sayısı artınca doğal olarak (genelde öyle yaparım) sol kısımdaki gezinti düğmelerine sağ tıklayıp sekmeyi seçerim. Fakat o kısımda tüm sekme adları gösterilmiyor. Belli sayıdan sonra alt kısımda Tüm sayfalar diye komut çıkıyor.

Sizden isteğim buradaki listeleme sayısını artırma yöntemi nedir?

130861excel_liste_oge_siniri.gif
 
Son düzenleme:
Merhaba, yıllanmış şarap gibi bir sorun var. Kullanım kolaylığı getirecek bayağı. Lütfen yardım edin!

Bu kodlarda gerçekten Sayfa11 Sayfa2 den önce geliyor. Buna bir çözüm bulunamaz mı ?

ekteki resimde yarı11 sayfası yarı2 den önce geldi.
 

Ekli dosyalar

  • Pano02.gif
    Pano02.gif
    3.6 KB · Görüntüleme: 35
Son düzenleme:
Selamlar,

Aşağıdaki kodu boş bir modüle uygulayıp denermisiniz.

Kod:
Option Explicit
 
Sub SAYFALARI_ALFABETİK_SIRALA()
    Dim SAY As Integer
    Dim X1 As Integer, X2 As Byte, X3 As Byte, X4 As Integer
    Dim RAKAM As String
    
    Application.ScreenUpdating = False
    
    Sheets(1).Select
       
    On Error Resume Next
    Application.DisplayAlerts = False
    Sheets("Liste").Delete
    Application.DisplayAlerts = True
    On Error GoTo 0
    
    SAY = Sheets.Count
    
    If SAY < 2 Then Exit Sub
    
    Sheets.Add
    ActiveSheet.Name = "Liste"
    
    For X1 = 2 To Sheets.Count
    Sheets("Liste").Cells(X1 - 1, 2) = Sheets(X1).Name
    If Sheets(X1).Visible = False Then
    Sheets(X1).Visible = True
    Sheets("Liste").Cells(X1 - 1, 4) = "Gizli"
    End If
    
    For X2 = 1 To Len(Sheets("Liste").Cells(X1 - 1, 2))
    If IsNumeric(Left(Sheets("Liste").Cells(X1 - 1, 2), X2)) = True Then
    RAKAM = Left(Sheets("Liste").Cells(X1 - 1, 2), X2)
    Else
    Exit For
    End If
    Next
    If RAKAM <> "" Then
    Sheets("Liste").Cells(X1 - 1, 1) = RAKAM
    Sheets("Liste").Cells(X1 - 1, 2) = Mid(Sheets("Liste").Cells(X1 - 1, 2), X2, 30)
    RAKAM = ""
    End If
    
    For X3 = 1 To Len(Sheets("Liste").Cells(X1 - 1, 2))
    If IsNumeric(Right(Sheets("Liste").Cells(X1 - 1, 2), X3)) = True Then
    RAKAM = Right(Sheets("Liste").Cells(X1 - 1, 2), X3)
    Else
    Exit For
    End If
    Next
    If RAKAM <> "" Then
    Sheets("Liste").Cells(X1 - 1, 2) = Mid(Sheets("Liste").Cells(X1 - 1, 2), 1, Len(Sheets("Liste").Cells(X1 - 1, 2)) - Len(RAKAM))
    Sheets("Liste").Cells(X1 - 1, 3) = RAKAM
    RAKAM = ""
    End If
    Next
    
    Columns("A:D").Sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1"), Order2:=xlAscending, Key3:=Range("C1"), Order3:=xlAscending
    
    [A1].Select
    
    For X4 = 2 To Sheets.Count
    Sheets("" & Cells(X4 - 1, 1) & Cells(X4 - 1, 2) & Cells(X4 - 1, 3)).Move Before:=Sheets(X4)
    Sheets("Liste").Select
    If Sheets("Liste").Cells(X4 - 1, 3) = "Gizli" Then
    Sheets("" & Cells(X4 - 1, 1) & Cells(X4 - 1, 2) & Cells(X4 - 1, 3)).Visible = False
    End If
    Next
    
    Application.DisplayAlerts = False
    Sheets("Liste").Delete
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Farkeden bir şey olmadı yine sayfa11 sayfa2 den önce geldi.
 
Sayın Korhan Ayhan,

bir de sekmelerin en başında sağ tıklayınca sekme adları liste olarak gösteriliyor. Bunun gösterim sayısını artırmak ya da oklarla kaydıracak şekilde genişletmek mümkün mü?

ekte istenilen yer var.
 

Ekli dosyalar

  • Pano02.gif
    Pano02.gif
    6.9 KB · Görüntüleme: 24
Selamlar,

Sn. mehmeser,

Üstteki mesajımdaki kodu güncelledim. İncelermisiniz.

Ayrıca diğer sorunuz içinde sağ tıkladığınızda açılan menüde "Tüm Sayfaları Göster" seçeneği bulunmaktadır. O seçeneği seçerek istediğiniz sayfayı açabilirsiniz. Bu şekilde istemiyorum derseniz aşağıdaki linkleri inceleyiniz.

http://www.excel.web.tr/f48/sayfaya-gitmek-icin-degisik-bir-kod-t57963.html
http://www.excel.web.tr/f48/sayfa-degistirme-menusu-olusturmak-istiyorum-t52529.html
 
Helal olsun. Çok çok teşekkürler. Sağlıklı çalışıyor. Verdiğiniz 2. bağlantıda ekler sürekli clear.gif olrak çıktı incelyemedim. Özellikle yardım menüsünün yanında çıkan sayfa listesini merak ettim. O konunun eklerini nasıl edinebilirim sizde var mı ?

Excel kod yazarlarına imreniyorum. Maşallah ne sitediğinizi söyleminz yeterli sanki !....

Allah razı olsun, teşekkürler.
 
Evet, çok güzel ve tam istenilen uygulama elinize sağlık.

Ama bir ufak sorun da burda çıktı. Sekmelerin başında sağ tıklayınca sekme sırsanı aynen gösteriyor. Yani verdiğiniz alfabetik sırlamayı bozmadan gösteriyor orda. Ama bu menü eklemeye sayfa sıralama kodunu ekleyince menüde sekmeler alfabetik görünmedi. Bu sefer menüden istenilen semeye ulaşmak zor oluyor.

Menüdeki sekme adlarını da alfabetik görmesini sağlatabilir misiniz ?
 

Ekli dosyalar

Selamlar,

Sn. mehmeser,

Ekteki örnek dosyayı incelermisiniz. Eğer menüde problem yaşarsanız F12 tuşuna bastığınızda kendini otomatik olarak yenileyecektir.
 

Ekli dosyalar

Geri
Üst