besen
Altın Üye
- Katılım
- 23 Mart 2007
- Mesajlar
- 732
- Excel Vers. ve Dili
-
Microsoft Office Professional Plus 2019
İngilizce
- Altın Üyelik Bitiş Tarihi
- 11-12-2029
Merhaba, forumda ya da webde sayfa sıralamayla ilgili şöyle bir makro görmüştüm, bunu kullanıyordum.
Ancak sayfalara otomatik gizleme için aşağıdaki kodu kullanmak istediğimde, bu sefer sayfa sıralama makrosu, tüm sayfaları sıralarken üstünden geçtiği için kapatıyor.
Bir çözüm mümkün mü?
Örnek ekledim.
Teşekkür ederim.
Private Sub Worksheet_Deactivate()
Me.Visible = xlHidden
End Sub
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
Ancak sayfalara otomatik gizleme için aşağıdaki kodu kullanmak istediğimde, bu sefer sayfa sıralama makrosu, tüm sayfaları sıralarken üstünden geçtiği için kapatıyor.
Bir çözüm mümkün mü?
Örnek ekledim.
Teşekkür ederim.
Private Sub Worksheet_Deactivate()
Me.Visible = xlHidden
End Sub
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
Ekli dosyalar
-
21.3 KB Görüntüleme: 7