Excel'de makro ile alfabetik sıralama ?

Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Selamlar. Belirttiğim alandaki harflerin soldan sağa sıralanmasını nasıl sağlayabiliriz. bu arada harf dışı karakterler sona yerleşmesi gerekiyor. Yardımlar için çok teşekkürler. (örnek dosyam ektedir)
 

Ekli dosyalar

Katılım
14 Aralık 2007
Mesajlar
1,073
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
Selamlar. Belirttiğim alandaki harflerin soldan sağa sıralanmasını nasıl sağlayabiliriz. bu arada harf dışı karakterler sona yerleşmesi gerekiyor. Yardımlar için çok teşekkürler. (örnek dosyam ektedir)
Makroya ekleyiniz...
Sub security_sırala()
'Coder By Security
Range("B2:H2").Select
Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Range("J4:p4").Select
Selection.Sort Key1:=Range("J4"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
DataOption1:=xlSortNormal
Range("A1").Select
End Sub
 
Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Teşekkür ederim elinize sağlık. Ancak şu (%,&,£,#..vs) tip
karaktrerleri sıralamanın sonuna değil başına getiriyor. bunuda sağlamanız mümkünmü. tekşekkürler...
 
Katılım
14 Aralık 2007
Mesajlar
1,073
Excel Vers. ve Dili
EXCEL 2007 TÜRKÇE
Teşekkür ederim elinize sağlık. Ancak şu (%,&,£,#..vs) tip
karaktrerleri sıralamanın sonuna değil başına getiriyor. bunuda sağlamanız mümkünmü. tekşekkürler...

Kod:
Sub security_sırala()
'Coder By Security
Range("B2:H2").Select
    Selection.Sort Key1:=Range("B2"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
        DataOption1:=xlSortNormal
    Range("J4:P4").Select
    Selection.Sort Key1:=Range("J4"), Order1:=xlDescending, Header:=xlGuess, _
        OrderCustom:=1, MatchCase:=False, Orientation:=xlLeftToRight, _
        DataOption1:=xlSortNormal
    Range("A1").Select
End Sub
Kodunu Ekleyin...
 
Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Valla zahmet veriyorum ama bu kez o harf dışı karakterler sona geldi ama normal harfler (c,b,a) diye tersden gitti. Aceba bu harf dışı (%,&,£,#..vs) karakterleri kod içerisinde özel oladak tanıtmakmı gerekicek. Vakit ayırıp yardım ettiğiniz için tekrardan çok teşekkür ederim...
 

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,472
Excel Vers. ve Dili
Office 2010 & 2013 tr
Valla zahmet veriyorum ama bu kez o harf dışı karakterler sona geldi ama normal harfler (c,b,a) diye tersden gitti. Aceba bu harf dışı (%,&,£,#..vs) karakterleri kod içerisinde özel oladak tanıtmakmı gerekicek. Vakit ayırıp yardım ettiğiniz için tekrardan çok teşekkür ederim...
Merhaba,
Aşağıdaki kodu deneyebilirsiniz. Kırmızı ile belirttiğim satıra ilgili karakterlerinizi girebilirsiniz.
Kod:
Sub Sirala()
[COLOR="DarkRed"]karakter = "&%$£"[/COLOR]
Range("B2:H2").Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, _
MatchCase:=False, Orientation:=xlLeftToRight, DataOption1:=xlSortNormal
Do While InStr(1, karakter, [b2]) > 0
deg = [b2]
[b2].Delete Shift:=xlToLeft
SonSut = Cells(2, 256).End(1).Column + 1
Cells(2, SonSut) = deg
Loop
End Sub
 
Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Çok teşekkür ederim, ellerinize sağlık. Peki ("J4:p4") hücre aralığınında sıralanması için koda nasıl bir ekleme yapabilirim. Çünkü yapmam gereken asıl işte benze şekilde 15 kadar daha bir birinden bağımsız hücre aralıklarınında aynı şekilde sıralanması gerekiyor.

Birde asıl sorun karakterle ilgili oldu benim girmem gerekenler içerisinde (жΔ&#ƱΣ$£@...vs) bu gibi karaktelerde var ve makro içerisinde çoğu "?" olarak çıkıyor. Aceba tüm karaktlerimi excel de belli bir aralığa yazsamda, karakter tanımladığımız yerde range aralığı olarak gösterebilirmiyiz. Yada farklı bir çözüm yolu olabilirmi..


Yardımlarınız için tekrar tekrar teşekkürler..
 
Son düzenleme:

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,472
Excel Vers. ve Dili
Office 2010 & 2013 tr
Merhaba,
Çözümü belirtmişsiniz aslında. Örneğin a1 hücresine özel karakterlerinizi girin. Ardından kodda geçen olan karakter tanımlamasını aşağıdaki gibi değiştirin.
Kod:
karakter=[a1]
Diğer sorunuz için aralıklarınızı belirtmelisiniz. Eğer aralıklarınızda dönnüye uygun ortak noktalar varsa kısa yoldan halledilebilir. Dağınık bir düzende yerleşmişse, verdiğim kodu her bir aralığınız için ayrı ayrı düzenlemeniz gerekebilir.
 
Katılım
31 Ağustos 2010
Mesajlar
387
Excel Vers. ve Dili
Excel 2007-2010 Eng
Open Office Trk
Teşekkür ederim çok güzel çalışıyor. Ama alt alta olanlar için kod düzenlenebilirse çok makbule geçer çünkü 80 e yakın böyle aralık olacak.

Örneğin (B2:H6) ve (B3:H6) aralıkları alt alta ama her ikisi içinde ayrı sıralama yapan ortak kod olabilirmi. Gerçi kodu incelediğimde başlangıç yerleri farklı olduğu için sanırım benim her aralık için tek tek kod girmem gerekicek.
 
Üst