isime göre koşullu sıralama

Katılım
28 Ağustos 2007
Mesajlar
55
Excel Vers. ve Dili
2003
ekteki örneği incelermisiniz... yardımlarınızı bekliyorum...
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Ekli dosyayı inceleyiniz.:cool:
Kod:
Private Sub CommandButton1_Click()
If RefEdit1.Value = Empty Then
    MsgBox "Taşınacak alanı önce seçmeleisiniz!!", vbCritical, "UYARI"
    Exit Sub
End If
If MsgBox("Seçili alanı en alta taşımak istiyormusunuz?", vbYesNo, "TAŞIMA") = vbNo Then Exit Sub
sat = Cells(65536, "B").End(xlUp).Row + 1
Range(RefEdit1.Value).Cut Range("B" & sat)
Application.CutCopyMode = False
Range("B2:D" & sat).Sort Range("B2")
Unload Me
End Sub
 

Necdet

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

Sayın Evren yanıtlamış, bende pek anladığımı söyleyemem ama B sütununda yapılacak bir değişkiliği son satıra aktarma işlemini yaptım.

Eksik gedik olabilir. Deneyiniz. Kodlar ilgili sayfanın kod bölümünde.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
Application.EnableEvents = False
Range(Cells(Target.Row, "B"), Cells(Target.Row, "D")).Cut
Range("B" & [B65536].End(3).Row + 1).Insert Shift:=xlDown
Application.EnableEvents = True
Son:
End Sub
 
Katılım
28 Ağustos 2007
Mesajlar
55
Excel Vers. ve Dili
2003
ilginiz için tşk.. Evren abinin yaptığı program ne yapıyor tam anlamadım.. Necdet abinin ki güzel fakat isteğime tam manası ile cevap veriyor sayılmaz. Belki de ben tam anlatamadım. Necdet abinin yaptığı kendisinin de belirttiği gibi B stununda yapılan değişikliği en alt satıra atıp sıralama yapıyor. Ben istiyorum ki B stununda alfabetik sıralama yapsın sadece YENİ MÜŞTERİ yazanları en alta atsın ve B stununda değişiklik yapılan satırdaki CARİ KOD ile CARİ HESAP DÖKÜMÜ dahil olmak üzere arasındaki tüm satırı taşısın. Ya aslında ben butona falan ihtiyaç duymuyordum ama nasip olursa pazartesi askere gidiyorum ve yerime bakacak kişi baya bi zorlanacak. onun için yardımımza gerçekten ihtiyacım var... Saygılarımla...
 

Necdet

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

Değişik bir mantık denedim. Dosyayı inceler misiniz. Eksik olan yerleri de açıklarsınız sevinirim. Yardımcı olabilirsem olurum, olmazsa ustalardan destek alırız.

B sütununda yapılan değişikliğe göre çalışan bir makro. Ama C ve D sütununda ne olacak bilmediğim için sadece sıralamaya kattım, c ve d sütununu olduğu gibi bıraktım.

Yine kodlar ilgili sayfanın kod bölümünde olmalı.

En Büyük Asker, Bizim Asker,

Güle güle gidiniz askere, güle güle geliniz.

Şimdiden iyi tezkereler diliyorum.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [B:B]) Is Nothing Then Exit Sub
Application.EnableEvents = False
Columns("B:B").Replace What:="YENİ MÜŞTERİ", Replacement:="ZZZZZ"
SonSatir = [B65536].End(3).Row
Range("B2:D" & SonSatir).Sort Key1:=Range("B2")
Columns("B:B").Replace What:="ZZZZZ", Replacement:="YENİ MÜŞTERİ"
Application.EnableEvents = True
Son:
End Sub
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
ilginiz için tşk.. Evren abinin yaptığı program ne yapıyor tam anlamadım.. .
Butona basıyorsunuz.Userform çıkıyor.
Refedit nesenesine tıklıyorsunuz.Sonra sayfa üzerinde akatarılmasını istediğiniz satırı seçiyorsunuz.Ve tamam tuşuna basınıyorsunuz .Önce seçili satır ene alta atıyor.Sonrada sıralıyor.:cool:
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,477
Excel Vers. ve Dili
Ofis 365 Türkçe
Vatan sana emanet airfresh kardeşim :)
 
Katılım
28 Ağustos 2007
Mesajlar
55
Excel Vers. ve Dili
2003
Necdet abimin dikkatine....
abi gerekli açıklamayı örnek içinde yaptım... iilgilenebilirmisin... sana da zahmet verdik...
 

Necdet

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

Butona bağladığınız kodları aşağıdaki şekilde değiştirdim.
Sayfadaki kodları da kaldırdım.

Kod:
Sub Macro1()
SonSat = [B65536].End(3).Row
Range("B2:B" & SonSat).Copy
[E2].Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Columns("E:E").Replace What:="YENİ MÜŞTERİ", Replacement:="ZZZZZ"
Range("B2:E" & SonSat).Sort Key1:=Range("E2")
Columns("E").ClearContents
End Sub
 
Üst