- Katılım
- 2 Ekim 2011
- Mesajlar
- 356
- Excel Vers. ve Dili
- excel 360 TR 64bit
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
bunlar sayfa ismi midir? sayfadaki veriler midir?
Hiç bir şey anlaşılmıyor. Örnek dosya ekleyin bakalım.
Sub sayfa_sirala()
Dim intI As Integer, intJ As Integer
For intI = 1 To Sheets.Count
For intJ = 1 To Sheets.Count - 1
If UCase(Sheets(intJ).Name) > UCase(Sheets(intJ + 1).Name) Then
Sheets(intJ).Move after:=Sheets(intJ + 1)
End If
Next
Next
End Sub
Aşağıdaki kodu bir modüle yapıştırarak deneyiniz.Kod:Sub sayfa_sirala() Dim intI As Integer, intJ As Integer For intI = 1 To Sheets.Count For intJ = 1 To Sheets.Count - 1 If UCase(Sheets(intJ).Name) > UCase(Sheets(intJ + 1).Name) Then Sheets(intJ).Move after:=Sheets(intJ + 1) End If Next Next End Sub
günü .ayı . yılı dikkate alaraktan işlem yapmıyor.sadece güne bakıyor.
bu şekilde örnek
01.01.2010
02.01.2011
03.01.2012
gibi
sitede veya arama motorunda arama yapmamışsınız anlaşılan, örnekler var.
aşağıdaki kodu bir deneyin bakalım inşallah yanılmıyorum.
Sub Autpen()
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
şu şekilde deneyiniz.
Sub sırala()
Application.ScreenUpdating = False
For x = 1 To Sheets.Count
For Y = x + 1 To Sheets.Count
c = CDate(Sheets(x).Name)
d = CDate(Sheets(Y).Name)
If c < d Then
GoTo gel
Else
Sheets(Y).Move before:=Sheets(x)
gel:
End If
Next Y
Next x
Application.ScreenUpdating = True
MsgBox "İşleminiz bitmiştir", vbInformation
End Sub
şu şekilde deneyin..
Sub sırala()
Application.ScreenUpdating = False
For x = 1 To Sheets.Count
For y = x + 1 To Sheets.Count
If IsDate(Sheets(x).Name) Then
c = CDate(Sheets(x).Name)
Else
Exit For
End If
If IsDate(Sheets.Name) Then
d = CDate(Sheets.Name)
Else
GoTo gel
End If
If c < d Then
GoTo gel
Else
Sheets.Move before:=Sheets(x)
gel:
End If
Next y
Next x
Application.ScreenUpdating = True
MsgBox "İşleminiz bitmiştir", vbInformation
End Sub