• DİKKAT

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

sayfa1 deki sütuna yapılan sıralatma nasıl diğer sayfalarada otomatik uygulanabil

  • Konbuyu başlatan Konbuyu başlatan ykaya78
  • Başlangıç tarihi Başlangıç tarihi
Katılım
19 Aralık 2005
Mesajlar
13
herkese saygılar.beni çok büyük zaman kayıplarından kurtarabilecek bir sorum olucak.30 sayfalık bir çalışma kitabında sayfa1 deki bir sütunda yaptırdığım a.z veya z.a tarzındaki bir sıralatmayı diğer sayfalarında aynı sütununda nasıl otomatik yaptırabilirm yardımcı olursanız beni çok mutlu edersiniz.
 
Merhaba,

Sıralama yaptırdığınızda tüm sayfalarda da sıralama olsun mu istiyorsunuz? Yoksa istediğim sayfada iken sıralama yaptırayım mı diyorsunuz?

Yani bir sıralama makrosu her sayfada çalışsın mı istiyorsunuz?

Hem bu sorulara yanıt veriniz hemde basit bir örnek dosya ekleyiniz. Yardımcı olacak çok arkadaş çıkacaktır.
 
ilginiz için tesekkürler.benim istediğim ben sayfa1 de çalışırken a sütununu z.a şeklinde sıralattığım zaman diğer 30 sayfadada aynı şekilde sıralanmasını istiyorum
böyle birşey mümkün olabilirmi? şunuda belirteyim tüm sayfalardaki bilgi cinsi ve sütun sayısı aynı. örnek olarak basit bir dosyayı ekledim
 
Yanıt

A dan Z ye tüm sayfaları sıralar.
Kod:
Sub TUMSAYFASIRALA()
Dim DEG1, AD As String
Dim I As Integer
DEG1 = InputBox("Sutun seçimi yapınız. A:D Gibi")
AD = InputBox("Hücre seçimi yapınız. A1 Gibi")
For I = 1 To Sheets.Count
Sheets(I).Select
Columns(DEG1).Select
Selection.Sort Key1:=Sheets(I).Range(AD), Order1:=xlAscending
Next
End Sub
 
Son düzenleme:
çok teşekkürler çok işime yaradı.bu sıralam a.z. şeklinde. z.a şeklinde olması için nasıl bir değişiklik gerekiyo acaba?
 
Yanıt

Selection.Sort Key1:=Sheets(I).Range(AD), Order1:=xlDescending olarak değiştiriniz.
 
harika oldu tesekkürler tekrar.bana ne kadar zaman kazandırdığınızı bilemessiniz:)
 
Tüm Sayfalarda Sıralama

Merhaba,

Bende sizin için uğraşmıştım, boşa gitmesin :)

Aşağıdaki kodları ThisWorkbook'un kod bölümüne kopyalarsanız, hangi sayfada olursanız olun ve 1. satırda herhangi bir kolonda çift tıklarsanız, Küçükten Büyüğe, Sağ tıklarsanız Büyükten Küçüğe tüm sayfalar tıkladığınız kolona göre sıralanır. Sıralanacak alanları kendisi bulur.

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
SonK = [A1].End(2).Column
SonS = [A65536].End(3).Row
If Target.Column <= SonK Then
    For i = 1 To Sheets.Count
        Sheets(i).Select
        Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, ActiveCell.Column), Order1:=1
    Next i
End If
Son:
End Sub

Kod:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
SonK = [A1].End(2).Column
SonS = [A65536].End(3).Row
If Target.Column <= SonK Then
    For i = 1 To Sheets.Count
        Sheets(i).Select
        Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, ActiveCell.Column), Order1:=2
    Next i
End If
Target.Offset(1, 0).Select
Son:
End Sub
 
Merhaba,

Bende sizin için uğraşmıştım, boşa gitmesin :)

Aşağıdaki kodları ThisWorkbook'un kod bölümüne kopyalarsanız, hangi sayfada olursanız olun ve 1. satırda herhangi bir kolonda çift tıklarsanız, Küçükten Büyüğe, Sağ tıklarsanız Büyükten Küçüğe tüm sayfalar tıkladığınız kolona göre sıralanır. Sıralanacak alanları kendisi bulur.

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
SonK = [A1].End(2).Column
SonS = [A65536].End(3).Row
If Target.Column <= SonK Then
    For i = 1 To Sheets.Count
        Sheets(i).Select
        Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, ActiveCell.Column), Order1:=1
    Next i
End If
Son:
End Sub

Kod:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
SonK = [A1].End(2).Column
SonS = [A65536].End(3).Row
If Target.Column <= SonK Then
    For i = 1 To Sheets.Count
        Sheets(i).Select
        Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, ActiveCell.Column), Order1:=2
    Next i
End If
Target.Offset(1, 0).Select
Son:
End Sub

öncelikle sunu söyleyeyim gerçekten çok profosyenelce ve paratik bi çalışma olmuş.ama bi yerlerde bir hata var gönderdiğiniz örnekte sıralama yaparken tüm sayfalarda değil bazı sayfalarda sıralama yapıyo.bunu halledebilirsek eminim forumdaki birçok insanın çok işine yarayacaktır.
 
Hakl&#305;s&#305;n&#305;z &#214;z&#252;r Dilerim.

Tek bir sayfada &#231;al&#305;&#351;&#305;yordu kodlar, genele uyarlarken ederken p&#252;f noktas&#305; g&#246;zden ka&#231;m&#305;&#351; :) Kodlar a&#351;a&#287;&#305;da, tekrar dener misiniz?

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
SonK = [A1].End(2).Column
SonS = [A65536].End(3).Row
If Target.Column <= SonK Then
[B][COLOR=red]  Kolon = Target.Column[/COLOR][/B]
    For i = 1 To Sheets.Count
        Sheets(i).Select
        Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, [COLOR=red][B]Kolon[/B][/COLOR]), Order1:=1
    Next i
End If
Son:
End Sub

Kod:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
On Error GoTo Son
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
SonK = [A1].End(2).Column
SonS = [A65536].End(3).Row
If Target.Column <= SonK Then
[COLOR=red][B]  Kolon = Target.Column[/B][/COLOR]
    For i = 1 To Sheets.Count
        Sheets(i).Select
        Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1,[B][COLOR=red] Kolon[/COLOR][/B]), Order1:=2
    Next i
End If
Target.Offset(1, 0).Select
Son:
End Sub
 
Son düzenleme:
elinize sa&#287;l&#305;k &#231;ok g&#252;zel oldu. ger&#231;ekten &#231;ok pratik. bisey sorucam z.a s&#305;ralat&#305;rken sorun yok ama a.z s&#305;ralat&#305;rken yani &#231;ift t&#305;klay&#305;nca her sayfay&#305; s&#305;ralarken bir msgbox penceresi &#231;&#305;k&#305;yo ve 56 173 yaz&#305;yo.yani her sayfa s&#305;ralan&#305;rken entere basmak gerekiyo.bunu nas&#305;l halledebiliriz?
 
Merhaba,

Denemek i&#231;in koymu&#351;tum o mesaj&#305;, sonra fark&#305;na vard&#305;m, &#252;stteki mesajda d&#252;zelttim. Yeniden al&#305;n&#305;z.
 
evet &#351;u anda kusursuz oldu ve bir&#231;ok insan&#305;n &#231;ok i&#351;ine yarayaca&#287;&#305;na eminim &#231;&#252;nk&#252; insanlar&#305;n en &#231;ok kulland&#305;klar&#305; fonsiyonlar bence s&#305;ralama fonksiyonlar&#305;.size ve V.Basic For Applications uzman&#305; arkada&#351;&#305;m&#305;za en derin sayg&#305;lar&#305;m&#305; sunuyorum.
 
Merhaba Tekrar,

Kod sayısını teke indirmek olası.

Herhangi bir sayfada 1. satırda herhangi bir hücreye Çift Tıklandığında açılan input mesaja 1 ya da 2 kodu verildiğinde : 1 Küçükten Büyüğe, 2 ise Büyükten Küçüğe sıralar.

Yine aşağıdaki kodları ThisWorkbook'un kod bölümüne kopyalamak gerek.

Kod:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim Tip As Integer
On Error GoTo Son
Application.ScreenUpdating = False
Sayfa_Adı = ActiveSheet.Name
If Intersect(Target, [1:1]) Is Nothing Then Exit Sub
Kolon = Target.Column
Tip = InputBox("Nasıl Sıralama Yapmak İstiyorsunuz = 1 : A-Z, 2 : Z-A", "SIRALAMA ŞEKLİ", 1)
If Tip = 1 Or Tip = 2 Then
    SonK = [A1].End(2).Column
    SonS = [A65536].End(3).Row
    If Target.Column <= SonK Then
        For i = 1 To Sheets.Count
            Sheets(i).Select
            Range(Cells(2, 1), Cells(SonS, SonK)).Sort Key1:=Cells(1, Kolon), Order1:=Tip
        Next i
    End If
End If
Sheets(Sayfa_Adı).Select
Cells(1, Kolon).Select
Son:
End Sub
 
Geri
Üst