• DİKKAT

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

Soru Sayfaları Sırala Makro Yardım

Katılım
9 Aralık 2010
Mesajlar
69
Excel Vers. ve Dili
İş office 2021 / Ev ofis 2016 64 bit
Arkadaşlar merhaba,

"Sipariş Formu" adında bir safya var bu safya makro ile çoğaltılıyor. Çoğalma ile oluşan safya isimleri aşağıdaki gibi.


Sipariş Formu / Sipariş Formu (1) / Sipariş Formu (2) / Sipariş Formu (3) / Sipariş Formu (4) / Sipariş Formu (5) / Sipariş Formu (6) / Sipariş Formu (7) / Sipariş Formu (8) / Sipariş Formu (9) / Sipariş Formu (10) / Sipariş Formu (111)


Sıralama için çeşitli makrolar gördüm. Genelde 1-9 arasını doğru sıralıyor ve 10 ve 11 bunların önüne geçiyor. Nasıl düzeltirim bu surunu yardımınıza ihtiyacım var.



Örnek Makro

Sayfalari sirala ()
Dim Sort_Mode_Descending As Boolean
Dim No_of_Sheets As Integer
Dim Outer_Loop As Integer
Dim Inner_Loop As Integer
No_of_Sheets = Sheets.Count

Sort_Mode_Descending = False
For Outer_Loop = 1 To No_of_Sheets
For Inner_Loop = 1 To Outer_Loop
If Sort_Mode_Descending = True Then
If UCase(Sheets(Outer_Loop).Name) > UCase(Sheets(Inner_Loop).Name) Then
Sheets(Outer_Loop).Move Before:=Sheets(Inner_Loop)
End If
End If
If Sort_Mode_Descending = False Then
If UCase(Sheets(Outer_Loop).Name) < UCase(Sheets(Inner_Loop).Name) Then
Sheets(Outer_Loop).Move Before:=Sheets(Inner_Loop)
End If
End If

Next Inner_Loop
Next Outer_Loop

End Sub
 

Ekli dosyalar

Merhaba.
Eğer sayfa isimlerindeki rakamlar örnekteki gibi ardışıksa aşağıdaki kodu kullanabilirsiniz.
Kod:
Sub Sirala()
    Dim Syf As Integer
    Worksheets("Sipariş Formu").Move Before:=Worksheets(1)
    For Syf = 1 To Worksheets.Count - 1
        Worksheets("Sipariş Formu (" & Syf & ")").Move Before:=Worksheets(Syf + 1)
    Next
End Sub
 
Merhaba.
Eğer sayfa isimlerindeki rakamlar örnekteki gibi ardışıksa aşağıdaki kodu kullanabilirsiniz.
Kod:
Sub Sirala()
    Dim Syf As Integer
    Worksheets("Sipariş Formu").Move Before:=Worksheets(1)
    For Syf = 1 To Worksheets.Count - 1
        Worksheets("Sipariş Formu (" & Syf & ")").Move Before:=Worksheets(Syf + 1)
    Next
End Sub



Doğru sıralıyor hocam teşekkür ederim.
 
Hocam bir soru daha sorsam çok olmam umarım. Formülleri ile başka excelden değer alıyor aşağıdaki kod. Bir türlü değerleri yapıştır yapamadım. Kaynaktaki exceldeki değerleri alsın istiyorum. Hücreyi formülleri ile alıyor.


kaynak.Worksheets("Sipariş Formu").Range("A9:C35").Copy ThisWorkbook.Sheets("anasayfa").Range("A2")
kaynak.Worksheets("Sipariş Formu (2)").Range("A9:C35").Copy ThisWorkbook.Sheets("anasayfa").Range("E2")
 
Deneyiniz.
Kod:
ThisWorkbook.Sheets("anasayfa").Range("A2:C28").Value = kaynak.Worksheets("Sipariş Formu").Range("A9:C35").Value
ThisWorkbook.Sheets("anasayfa").Range("E2:G28").Value = kaynak.Worksheets("Sipariş Formu (2)").Range("A9:C35").Value
 
Deneyiniz.
Kod:
ThisWorkbook.Sheets("anasayfa").Range("A2:C28").Value = kaynak.Worksheets("Sipariş Formu").Range("A9:C35").Value
ThisWorkbook.Sheets("anasayfa").Range("E2:G28").Value = kaynak.Worksheets("Sipariş Formu (2)").Range("A9:C35").Value

Teşekkür ettim. Sorunsuz çalıştı.

Bendeki kodun sonuna ".Value" yazdım ama çalışmamıştı.
 
Sizin kodlarınızla bunları karşılaştırın. İkisi birbirinden çok farklı.
 
Geri
Üst