İki sutunu makro ile sıralama

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
3 Temmuz 2011
Mesajlar
44
Excel Vers. ve Dili
2016
Arkadaşlar merhaba ufak bir kod a ihtiyacım var yardımcı olursanız sevinirim. Şimdi:
yanyana sutunlar var ve yanında başka sutun
normal kod ile sıralama yaptım h sutunu otomatik sıralama yapıyor her açılışta yaptığım kod şu şekilde


Sub Auto_Open()
Range("h6:h501").Select
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range("h6:h501"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sayfa1").Sort
.SetRange Range("h6:h501")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Yalnız sıraladım h6 sutün yanında I sütun u da var ve h sütun nu ile entegreli h sütun nu sıraladığımızda I sutunuda sıralamansını istiyorum. Örnek veriyorum H sütunda İl İstanbul I sutunda Bahçelievler sıralama yaptığı zaman il sıralama olduğunda istanbulun yanına bahçelievlerde gelmeli.

Bir başka sorum ise açılır liste var veri doğrulamadan yaptım. Fakat orada boş olan hücreleride gösteriyor ve listede fazla veri olduğundan atıyorum m harfi ile başlayan bir yazıya ulaşmak istediğimde illa mous ile inmem gerekiyor direk o harfin başına klavyeden bassam o listedki harfe gitse. örnek veriyorum bi forum doldururken web sayfalarında açılan listede klavyede girdiğimiz harf ile başalayanlara gelir ya aynı onun gibi. O açılan listenin genişliği kısıtlı onu biraz daha genişletebilirmiyiz acaba? Şimdiden yardımlarınız için teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,558
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağdaki kodları dener misiniz?

Kod:
Sub Auto_Open()

    Dim i   As Long
    
    i = Cells(Rows.Count, "H").End(3).Row
    If i < 6 Then i = 6
    
    Range("H6:I" & i).Sort Key1:=[H1]
    
End Sub
 
Katılım
3 Temmuz 2011
Mesajlar
44
Excel Vers. ve Dili
2016
Belki başkalarına yarar örnek kod aşağıda


Sub Auto_Open()
Range("h6:I501").Select
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range("H6"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sayfa1").Sort
.SetRange Range("H6:I501")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,558
Excel Vers. ve Dili
Ofis 365 Türkçe
Çok basit bir sıralama, neden olmasın.

Dosya açılır açılmaz hangi sayfada bulunuyorsa o sayfada sıralama yapar. Ben bunları bildiğinizi düşünerek belirtmedim.

Oysa önce sayfayı seçmeli sonra kodların çalışması gerekir.

Ayrıca sıralama H sütununda yapılacaksa ve I sütunu da varsa, benim aklıma gelen bunun a,b,c,d,e,f,g sütunlarınında olduğudur.

Bunlara da dikkat etmek gerek.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst