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:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Dosyayı excel dosyası olarak paylaşın lütfen.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Ö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
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
Ö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:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Siz çalışmayan halini paylaşır mısınız?
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
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));"")
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
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:
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
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:
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
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
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
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
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
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
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
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.
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
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
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
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
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
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:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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?
 
Üst