• DİKKAT

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

RANDEVU LİSTESİNDE GİRİLEN SAAT İLE VERİLERİ OTOMATİK SIRALAMA

Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
Selamın aleyküm randevu exceli oluşturdum
ARANACAKLAR bölümüne dokunulmayacak ve değişime uğramayacak şekilde sadece RANDEVU LİSTESİNDEKİ verilerin SIRA NO kısmındaki sayılar değişmiyecek şekilde ADI-SOYADI CEP NUMARASI SAAT ÜCRET AÇIKLAMA kısmına
buralara giridiğim verilerin SAAT stunundaki saatlere göre sıralanmasını istiyorum ve veya SAAT stununa girdiğim saatlerle B C D E F stünundaki verilerin girdiğim saate göre saatlerle birlikte kendilerini sıralamasını istiyorum


excel resimi:

https://ibb.co/ZLZwwjK

dosyanın kendisi:

https://www.dosyaupload.com/jb2c

ÇÖZÜLMÜŞTÜR KODUMUZ:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(ActiveCell, Range("B3:F13")) Is Nothing Then Range("B3:F13").Sort Key1:=Range("D2"), Order1:=xlAscending

End Sub

@YUSUF44 ve @çıtır adlı kullanıcılarına teşekkürediyorum
 
Son düzenleme:
Dosyayı excel dosyası olarak paylaşın lütfen.
 
Öncelikle dosyanızdaki F, G, H hücrelerinin birleştirmesini iptal edin, geniş hücre istiyorsanız sütun genişliğini arttırın, çünkü aşağıdaki yöntem birleşmiş hücrelerde çalışmaz.

Aşağıdaki kodları dosyanızın VBA bölümündeki ThisWorkBook/BUÇalışmaKitabı kısmına yapıştırın. D sütununa saat girdikçe istediğinizi yapacaktır:

PHP:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Intersect(Target, Range("D3:D12")) Is Nothing Then GoTo 10
    
    ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Range( _
        "D3:D12"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("B2:F12")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
10:
    If Intersect(Target, Range("D17:D31")) Is Nothing Then Exit Sub
    ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Range( _
        "D17:D31"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("B16:F31")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
 
Öncelikle dosyanızdaki F, G, H hücrelerinin birleştirmesini iptal edin, geniş hücre istiyorsanız sütun genişliğini arttırın, çünkü aşağıdaki yöntem birleşmiş hücrelerde çalışmaz.

Aşağıdaki kodları dosyanızın VBA bölümündeki ThisWorkBook/BUÇalışmaKitabı kısmına yapıştırın. D sütununa saat girdikçe istediğinizi yapacaktır:

PHP:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If Intersect(Target, Range("D3:D12")) Is Nothing Then GoTo 10

    ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Range( _
        "D3:D12"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("B2:F12")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
10:
    If Intersect(Target, Range("D17:D31")) Is Nothing Then Exit Sub
    ActiveSheet.Sort.SortFields.Clear
    ActiveSheet.Sort.SortFields.Add Key:=Range( _
        "D17:D31"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
        xlSortNormal
    With ActiveSheet.Sort
        .SetRange Range("B16:F31")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
End Sub
teşekkürederim denedim F G H birleşmesinide iptal edip denediğimde çalışmadı.saat giriyorum ama sıralanmıyor nerede eksik hatam var acaba.bana aşağıdaki verdiğim dosyadan kodları ekleyip çalışan dosyayı gönderebilirmisiniz eksiklikleri hataları daha iyi görmem açısından

şunlarıda belirtmem gerekecek sanırım SIRA NO kısmındaki sayılar değişmiyecek yanlız ADI-SOYADI CEP NUMARASI SAAT ÜCRET AÇIKLAMA
buralara giridiğim veriler saat ile birlikte sıralanmasını istiyorum

dosyada değişiklik yapmıştım daha basite indirgedim arananlar bölümünü buyrun bunun üzerinde ekleme yaparsanız:
resmi:
https://ibb.co/ZLZwwjK
dosya:
https://www.dosyaupload.com/jb2c
 
Son düzenleme:
Siz çalışmayan halini paylaşır mısınız?
 
Formül çözüm.Dizi formülü.B17 Hücresine kopyalayınız.Sağa ve aşağı doğru çoğaltınız.(Not:F hücresinin birleştirmesini çözünüz ve F sütununu genişletiniz).Dizi formülü için bakınız. https://www.excelgurusu.com/dizi-array-formulleri/
Kod:
=EĞERHATA(İNDİS($B$1:$H$12;KÜÇÜK(EĞER(KÜÇÜK($D$3:$D$12;SATIR($A1))=$D$3:$D$12;SATIR($A$3:$A$12));SATIR($A$1));SÜTUN(A$1));"")
 
Siz çalışmayan halini paylaşır mısınız?
excel resimi:

https://ibb.co/ZLZwwjK

dosyanın kendisi:

https://www.dosyaupload.com/jb2c
Formül çözüm.Dizi formülü.B17 Hücresine kopyalayınız.Sağa ve aşağı doğru çoğaltınız.(Not:F hücresinin birleştirmesini çözünüz ve F sütununu genişletiniz).Dizi formülü için bakınız. https://www.excelgurusu.com/dizi-array-formulleri/
Kod:
=EĞERHATA(İNDİS($B$1:$H$12;KÜÇÜK(EĞER(KÜÇÜK($D$3:$D$12;SATIR($A1))=$D$3:$D$12;SATIR($A$3:$A$12));SATIR($A$1));SÜTUN(A$1));"")
teşekkürederim fakat bu formül neye yarıyor saat ile sıralanılmasına mı acaba ve yeni dosyanın son durumu ARANACAKLAR kısmını basitleştirdim:
https://www.dosyaupload.com/jb2c
 
Son düzenleme:
Bir alana yazdığınız bilgilerin saat'e göre sıralanmasına.Örnek dosya
https://www.dosyaupload.com/jb2j
çok saolun fakat ben şöyle diyeyim sizin verdiğiniz dosyada üste randevu kısmına saat girdiğimde aranacaklar kısmındaki saatler sıralanıyor ben tam tersini istiyorum yani randevu kısmına saat girdiğimde saatle birlikte sadece RANDEVU kısmındaki verilerin sıralanmasını istiyorum ARANACAKLAR kısmı değişmeden ve SIRA NO adındaki stünda olan sayılar değişmeyecek yani ARANACAKLAR kısmını ellemeyeceğiz onların sıralanmasına gerek yok öylece kalsın istiyorum oranın

son dosya şu şekilde bunun üstünde işlem yapıp üssteki gibi bana verirseniz sevinirim:
https://www.dosyaupload.com/jb2c

birde RANDEVU LİSTESİ ve ARANACAKLAR kısmındaki stünları yani ABCDEF stünlarını birleştirdiğimizde bu formüller çalışmayacak mı illa stünları ayırmamız mı gerekiyor acaba
 
Son düzenleme:
Aynı alanda formülle olmaz üste gizli aynı alan açarak olabilir.Makro ile olabilir.
Sayfa kodu olarak kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, [D3:D14]) Is Nothing Then Exit Sub
son = Cells(14, "D").End(3).Row
Range("B3:F" & son).Sort Range("D3"), xlAscending
End Sub
 
Aynı alanda formülle olmaz üste gizli aynı alan açarak olabilir.Makro ile olabilir.
Sayfa kodu olarak kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, [D3:D14]) Is Nothing Then Exit Sub
son = Cells(14, "D").End(3).Row
Range("B3:F" & son).Sort Range("D3"), xlAscending
End Sub
bu neye yarayacak ben tam anlamadım bunun üstünde işlem yapıp çalışan dosyayı gönderebilirmisiniz acaba
https://www.dosyaupload.com/jb2c
 
Sayfa yeni bir saat ve bilgi girdiğinizde sayfadaki verilerin saat'e göre sıralandığını göreçeksiniz.Dosyanız.
https://www.dosyaupload.com/jb3f
teşekkürler fakat üstte verdiğiniz dosyayla karıştırdınız sanırım içinde saati sıralayacak kodlar mevcut değil verdiğim dosya tamamen kodsuz dosya idi çünkü saati giriyorum yine sıralanmıyor
 
Ben deniyorum sıralıyor.Kodlar vba kodu olarak sayfa kodu mevcud.Makro konusunda bilginiz nedir?Sayfayı indirip ,Dizinden çıkararak,etkinleştirip denediniz mi? Ben deniyorum çalışıyor.Çalışmayan kod göndermem.
 
Ben deniyorum sıralıyor.Kodlar vba kodu olarak sayfa kodu mevcud.Makro konusunda bilginiz nedir?Sayfayı indirip ,Dizinden çıkararak,etkinleştirip denediniz mi? Ben deniyorum çalışıyor.Çalışmayan kod göndermem.
makro konusunu yeni yeni öğrenmeye çalışıyorum sadece kodları ilgili yere yapıştırmasını biliyorum office 2007 kullanıyorum acaba bende çalışmaması version farklılığından veya seçeneklerden birşeyleri aktif etmeyişimden olabilir mi birde etkinleştirip denediniz mi demişsiniz neyi etkinleştirmem gerekiyor acaba
 
1)Çalışma sayfaları çubuğunda fare sağ tuş yapınız.
2)Çıkan seçeneklerden Kod görüntüle seçiniz.(Resim1)
3)Çıkan sağdaki boş alana daha önçe verdiğim kodu kopyalayınız(Resim2)
4) Makro olarak kaydediniz.
Kaydettiğiniz sayfada deneyiniz.Diğer sayflar içinde aynı işlemi yapınız.
https://imgyukle.com/i/ooJoyA
https://imgyukle.com/i/ooJQUS
 
sizin verdiğinizde bende çalışmadı sıralamıyor saat girdiğimde bi gariplik var benim office programlarında mı bi sıkıntı var bilmem

1)Çalışma sayfaları çubuğunda fare sağ tuş yapınız.
2)Çıkan seçeneklerden Kod görüntüle seçiniz.(Resim1)
3)Çıkan sağdaki boş alana daha önçe verdiğim kodu kopyalayınız(Resim2)
4) Makro olarak kaydediniz.
Kaydettiğiniz sayfada deneyiniz.Diğer sayflar içinde aynı işlemi yapınız.
https://imgyukle.com/i/ooJoyA
https://imgyukle.com/i/ooJQUS
çok teşekkürler bunları biliyordum dediğim gibi ilgili yere kodları yapıştırmasını biliyorum gösterdiğiniz gibi

şöyle bi kod elime geçti denedim oldu:

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)





If Not Intersect(ActiveCell, Range("A3:H13")) Is Nothing Then Range("A3:H13").Sort Key1:=Range("D2"), Order1:=xlAscending



End Sub

fakat bu kod bana herhangibi veri kaybı hata eksiklik yaşatır mı acaba sizlerde denermisiniz bilgilerinize başvurayım
 
Son düzenleme:
Makroları etkinleştirdiniz mi? Eğer etkinleştirdiyseniz D sütununa veri girdiğinizde çalışması gerekir ve çok hızlı gerçekleşir. Belki de hızlı olduğundan çalışmıyor diye düşünmüş olabilir misiniz?
 
Geri
Üst