• DİKKAT

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

yeniden diz

Barons

Altın Üye
Katılım
14 Mayıs 2005
Mesajlar
967
Excel Vers. ve Dili
Microsoft Ofis 365
merhaba

ekli dosyada A kolonundaki sıralama rakamını değiştirerek değiştirdiğimde tüm sıranın otomatik olarak yeniden dizilmesi mümkünmüdür? (makro buton yardımı ile)

Teşekkürler
 

Ekli dosyalar

Merhaba,

Bu şekilde deneyin..

Kod:
Sub Sırala()
    Range("A2:M" & [A65536].End(3).Row).Sort Range("A2")
End Sub
.
 
Sn.Ömer Hocam,
Teşekkürler ancak herhangi bir sıradaki (A sütununda) değeri örnek:4 değerini 1 yapınca ,2 tane 1 değeri oluyor.Bu değişiklikten sonra kalan değerleride tekrar artan şeklinde sıralamak mümkünmüdür?

Teşekkürler
 
çözümü yokmu üstadlar...lütfen yardım
 
Sayın Barons,

Sorunuzu anlayamadım. Benim anladığım bu istediğinizi yukarıda verdiğim kod yapıyor. Yeni veri girdikten sonra butona basmanız gerekir.

Farklı bir şey soruyorsanız yeni bir dosya ekleyerek detaylı açıklayınız..

.
 
hocam,
şöyle izah edeyim..
A sütununda 1,2,3....şeklinde sıralı giden sayılar var.Bu sayılar mevcut işlerin aciliyet sıraları aynı zamanda.
örnek; 3 sayısını 1 yaptık diyelim yani 3 nolu iş ilk sıraya gelecek ancak üstte zaten 1 nolu iş vardı...sizin kod ile 2 tane 1 no'lu iş oluyor.işte burada sıkıntı var.üstteki 2 olacak ve diğerleride tekrar sırayla dizilecek.
Hocam sizin kod sadece sıralıyor ,ikinci kez dizme işlemi yapmıyor.
umarım anlatabilmişimdir.
 
Merhaba,
Syn meslan yanıtlamış; ama ben de bir kod hazırlamıştım, boşa gitmesin. Alternatif olarak düşünebilirsiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, Range("a2:a" & [a65536].End(3).Row)) Is Nothing Then Exit Sub
Dim st As Variant
Set st = Range("a" & Target.Row & ":m" & Target.Row)
Application.EnableEvents = False
Rows(Val(Target) + 1).Insert shift:=xlDown
st.Cut Cells(Target + 1, "a")
Range("a2:m" & [a65536].End(3).Row).SpecialCells(xlCellTypeBlanks).Delete
[a2].AutoFill Destination:=Range("a2:a" & [a65536].End(3).Row), Type:=xlFillSeries
Application.CutCopyMode = False
Application.EnableEvents = True
MsgBox "Yeni sıralama yapıldı.", vbInformation, "leumruk"
End Sub
 

Ekli dosyalar

Süper..istediğim tam olarak buydu...Üstadlara çok teşekkürler
 
Tekrar merhaba
sayfanın change olayına değilde bir butona bağlayarak kullanmak istiyorum.Bu şekilde değişiklik mümkünmü acaba?

Teşekkürler
 
Sn.Meslan,
çok teşekkürler ancak bir sorun var...örnek:1 rakamını 10 yapınca sorun çıkyor ve 2'den başlıyor.
Leumruk hocam sizinkindede öyle.ilk numarayı en sona atamıyorum.

Teşekkürler
 
Sn.Meslan,
çok teşekkürler ancak bir sorun var...örnek:1 rakamını 10 yapınca sorun çıkyor ve 2'den başlıyor.
Leumruk hocam sizinkindede öyle.ilk numarayı en sona atamıyorum.

Teşekkürler

Merhaba
Şunu bir dene
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target.Rows, [A2:A65536]) Is Nothing Then Exit Sub
Application.EnableEvents = False
a = 2
If Target.Row = 2 Then a = [A65536].End(3).Row + 1
Rows(Target.Row).Cut
Rows(a).Insert Shift:=xlDown
Range("A2:M" & [A65536].End(3).Row).Sort Range("A2")
For i = 2 To [A65536].End(3).Row
   Cells(i, 1).Value = i - 1
Next
Application.EnableEvents = True
End Sub
 
Alternatif olarak şu kodu deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target.Rows, [A2:A65536]) Is Nothing Then Exit Sub
Application.EnableEvents = False
a = 2
If Target.Row = 2 Then a = [A65536].End(3).Row: GoTo 1
Set b = [A:A].Find(Target.Value, LookAt:=xlWhole)
If Not b Is Nothing And b.Row <> Target.Row Then
a = b.Row
Else
 Set b = [A:A].FindNext(b)
If Not b Is Nothing Then a = b.Row
End If
1 Rows(Target.Row).Cut
Rows(a + 1).Insert Shift:=xlDown
Range("A2:M" & [A65536].End(3).Row).Sort Range("A2")
For i = 2 To [A65536].End(3).Row
   Cells(i, 1).Value = i - 1
Next
Application.EnableEvents = True
End Sub
 
Son düzenleme:
Hocam her 2 kodda tam istediğim gibi çalışıyor...çok teşekkürler...Allah ne muradınız varsa versin...
 
Hocam delirecem ya...sizin gönderdiğiniz dosyada çalışıyor hatta sizin gönderdiğiniz dosyada sayfa adını değiştirdim yine sorun yok ama benim orjinal dosyada hata veriyor.yine
a=2 hatası..
herşey aynı defalarca denedim ama olmuyor...hata resmi aşağıda hocam
 

Ekli dosyalar

  • A.jpg
    A.jpg
    66.8 KB · Görüntüleme: 3
Kodun en başına "dim a as Integer" ifadesini ekleyin
 
Geri
Üst