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
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?
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
makroyu etkinleştirmeyi öğrendim fakat üstte verdiğim kod makrosuz bi şekilde saat girdiğimde saatle birlikte diğer verileri sıralıyor bu nasıl oldu bana açıklayabilirmisiniz sanırım visual basic kısmıyla makro kısmı birbirinden ayrı şeyler

ve bu üstteki kod bana herhangibi veri kaybı hata eksiklik yaşatır mı acaba sizlerde denermisiniz bilgilerinize başvurayım

birde verdiğiniz dosyadaki girdiğiniz makro kodlarınızı nereden görüntülüyebilirim acaba
 
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
VBA ekranında iken sol tarafta ThisWorkBook ya da BuÇalışmaKitabı yazan bölümü açarsanız yazdığım kodu görürsünüz.

Bir eksiklik yaratmaz ancak Siz B sütunundan itibaren sıralanmasını istiyorsunuz, bu kod A sütununu da sıralıyor, B3:H13 olarak düzeltin.
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
VBA ekranında iken sol tarafta ThisWorkBook ya da BuÇalışmaKitabı yazan bölümü açarsanız yazdığım kodu görürsünüz.

Bir eksiklik yaratmaz ancak Siz B sütunundan itibaren sıralanmasını istiyorsunuz, bu kod A sütununu da sıralıyor, B3:H13 olarak düzeltin.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

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

End Sub
bu şekilde değiştirdim sorunsuz çalışıyor sizlerde kodu denemiş onay vermişseniz problem yok diyebiliriz

birde visual basic ile mi iş yapmalıyım yoksa makro ile mi bunun arasındaki fark önemli mi yani visual basic ile yapıyorsak makroya göre artısı eksisi var mıdır acaba
 

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
VB de makro da aynı şeyler aslında.

Makroların türleri ve çalışmaşekilleri farklıdır. Örneğin benim verdiğim kod sayfa olayına bağlı bir koddur ve sayfada kodun başlığında belirtilen işlem (worksheetchange=sayfadaki değişiklik) olayına bağlıdır. Ancak ben her sayfada aynı işlem yapılacağı için tüm sayfalar için ayrı ayrı kod yazmak yerine tüm sayfalarda aynı kodun geçerli olması için ThsiWorkbook kısmına yazdım.

Sizin belirttiğiniz kod ise sadece bulunduğu sayfada değişiklik olduğunda çalışır.

Makro diye bildiğiniz kodlar ise genelde Module içine yazılır ama sayfalara da yazılabilir. Ama otomatik çalışmazlar, çalışmaları için ya bir düğmeye atanmalı ya da sayfadaki bir değişikliğe atanmalı ya elle manuel çalıştırılmalı ya da başka bir makro tarafından çalıştırılmalıdır vs.

Hangisini ne zaman kullanacağınız tamamen yapılmak istenen işle alakalıdır. O an ihtiyaç duyduğumuz işlem hangisini gerektiriyorsa ona göre çözüm bulunur.
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
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
VB de makro da aynı şeyler aslında.

Makroların türleri ve çalışmaşekilleri farklıdır. Örneğin benim verdiğim kod sayfa olayına bağlı bir koddur ve sayfada kodun başlığında belirtilen işlem (worksheetchange=sayfadaki değişiklik) olayına bağlıdır. Ancak ben her sayfada aynı işlem yapılacağı için tüm sayfalar için ayrı ayrı kod yazmak yerine tüm sayfalarda aynı kodun geçerli olması için ThsiWorkbook kısmına yazdım.

Sizin belirttiğiniz kod ise sadece bulunduğu sayfada değişiklik olduğunda çalışır.

Makro diye bildiğiniz kodlar ise genelde Module içine yazılır ama sayfalara da yazılabilir. Ama otomatik çalışmazlar, çalışmaları için ya bir düğmeye atanmalı ya da sayfadaki bir değişikliğe atanmalı ya elle manuel çalıştırılmalı ya da başka bir makro tarafından çalıştırılmalıdır vs.

Hangisini ne zaman kullanacağınız tamamen yapılmak istenen işle alakalıdır. O an ihtiyaç duyduğumuz işlem hangisini gerektiriyorsa ona göre çözüm bulunur.
çok teşekkürediyorum çok saolun bir dahaki konularda görüşmek dileği ile allah razı olsun diyelim :)

bir başka konu olarak örneğin saat kısmına sadece 15 yazıp kendisinin 15:00 olarak eklemesini istiyorum fakat bu böyle olmuyor direk 15 yazdığımda :00 kısmını girmediğimde direk 15:00 değilde 00:00 diye kendini atıyor bunu nasıl yapabilirim acaba
 
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
Excelde bir gün sayı olarak 1'e eşittir. Dolayısıyla 24 saatin karşılığı 1'dir. 15 yazdığınızda aslında aynı zamanda 15 tane 24 saatin karşılığını yazmış olursunuz. Saat gösteriminde 24:00 yerine 00:00 kullandığımızdan, hücreye yazılan tüm tam sayılar hücrede saat biçimindeyken 00:00 olarak görünür. Eğer bu hücreyi tarih olarak biçimlendirirseniz hücrede 15/01/1900 görünür.

İsteğiniz yapılabilir elbette. Forumda sayıyı saate çevirme diye arama yaparsanız örnek bulabilirsiniz diye düşünüyorum. Şu anda cepten baktığımdan örnek veremiyorum.

Farklı bir çözüm olarak hücreyi saat olarak biçimlendirip 15/24 yazarak dener misiniz?
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
Excelde bir gün sayı olarak 1'e eşittir. Dolayısıyla 24 saatin karşılığı 1'dir. 15 yazdığınızda aslında aynı zamanda 15 tane 24 saatin karşılığını yazmış olursunuz. Saat gösteriminde 24:00 yerine 00:00 kullandığımızdan, hücreye yazılan tüm tam sayılar hücrede saat biçimindeyken 00:00 olarak görünür. Eğer bu hücreyi tarih olarak biçimlendirirseniz hücrede 15/01/1900 görünür.

İsteğiniz yapılabilir elbette. Forumda sayıyı saate çevirme diye arama yaparsanız örnek bulabilirsiniz diye düşünüyorum. Şu anda cepten baktığımdan örnek veremiyorum.

Farklı bir çözüm olarak hücreyi saat olarak biçimlendirip 15/24 yazarak dener misiniz?
ben benim sorunuma yarar herhangi bir konu bulamadım yardımınızı istiyorum

15/24 ü denedim ama her sayı girdiğimde 15/24 yazdırı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
15 yazdığınızda 15:00 yapar ve sıralar 1 yazdığınızda 1:00 yapar dakika yazmazsanız deneyiniz.Sadece görüntüdür.Saat değildir.
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
Cells(Target.Row, "D").NumberFormat = "??"":""""00"""
Range("B3:F" & son).Sort Range("D3"), xlAscending
End Sub
 
Son düzenleme:
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
15 yazdığınızda 15:00 yapar ve sıralar 1 yazdığınızda 1:00 yapar dakika yazmazsanız deneyiniz.Sadece görüntüdür.Saat değildir.
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
Cells(Target.Row, "D").NumberFormat = "??"":""""00"""
Range("B3:F" & son).Sort Range("D3"), xlAscending
End Sub
teşekkürederim güzel çalışıyor fakat benim dakika da yazmam lazım randevu listesi çünkü dakikasını yazınca direk 1:00 olarak kendini atıyor bunu çözümleyebilirmisiniz

birde nedense saat 1 yazıp yanına herhangi bi dakika eklediğimde kendini :00 diye atıyor

en son dosya bu:

https://www.dosyaupload.com/jbif

excel resimi:

https://ibb.co/fY7Z0qr
 
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
İlgili kodu aşağıdaki şekilde değiştirmeli ve yazımlarınızı 4 haneli yapmalısınız.(enaz 3, : noktasız yazınız,15:30 yazaçak iseniz 1530 yazınız.)
Kod:
Cells(Target.Row, "D").NumberFormat = "00"":""00"
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
İlgili kodu aşağıdaki şekilde değiştirmeli ve yazımlarınızı 4 haneli yapmalısınız.(enaz 3, : noktasız yazınız,15:30 yazaçak iseniz 1530 yazınız.)
Kod:
Cells(Target.Row, "D").NumberFormat = "00"":""00"
teşekkürler çalışıyor ama ben normal ondalık yani 15 sayısını girdiğimde bu sefer 00:15 yapıyor yani dakikaya çeviriyor ben saate çevirmesini istiyordum
 
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
teşekkürler çalışıyor ama ben normal ondalık yani 15 sayısını girdiğimde bu sefer 00:15 yapıyor yani dakikaya çeviriyor ben saate çevirmesini istiyordum
1500 yazınız.Kusura bakmayın yapabildiğim bu kadar.Dakikalı yazaçak iseniz saat ve dakika yazmalısınız 15:00 yazaçak iseniz 1500 yazmalısınız.
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007

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
İf intersect ile başlayan satırdan sonra aşağıdaki satırı ekleyin:

Kod:
        If Selection.Count > 1 Then Exit Sub
 

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
Hangi hücrede nasıl bir değişiklik yapmaya çalışıyorsunuz?
 

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
Ben dosyayı yüklediğimde "yapılmasını istediğiniz değişiklikler" için herhangi bir hatayla karşılaşmadım. İsteğiniz üst kısma saat girdiğinizde saatleri sıralaması, tamsayı girdiğinizde saate çevirip yine sıralamasıydı. Dosyada bu işlemler hatasız bir şekilde oluyor bildiğim kadarıyla.

Mesela saatlerin hepsini topluca silmek gibi bir işlemden bahsetmemiştiniz, dolayısıyla bir önceki düzeltmeyi eklememiştim.

Sonuç olarak siz dosyadan ne bekliyorsanız bize tam olarak anlatın ki ona göre çözüm bulalım.

Bahsettiğiniz son hatayla ilgili ise ne yapınca oluştuğunu bilmeden yorum yapamam.
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
Ben dosyayı yüklediğimde "yapılmasını istediğiniz değişiklikler" için herhangi bir hatayla karşılaşmadım. İsteğiniz üst kısma saat girdiğinizde saatleri sıralaması, tamsayı girdiğinizde saate çevirip yine sıralamasıydı. Dosyada bu işlemler hatasız bir şekilde oluyor bildiğim kadarıyla.

Mesela saatlerin hepsini topluca silmek gibi bir işlemden bahsetmemiştiniz, dolayısıyla bir önceki düzeltmeyi eklememiştim.

Sonuç olarak siz dosyadan ne bekliyorsanız bize tam olarak anlatın ki ona göre çözüm bulalım.

Bahsettiğiniz son hatayla ilgili ise ne yapınca oluştuğunu bilmeden yorum yapamam.
anladım çok saolun şimdilik bi böyle kullanalım madem ileride nerede değişiklik yaparak hatalar alırsak o zaman bildireyim
 
Katılım
8 Ağustos 2019
Mesajlar
20
Excel Vers. ve Dili
türkçe 2007
Ben dosyayı yüklediğimde "yapılmasını istediğiniz değişiklikler" için herhangi bir hatayla karşılaşmadım. İsteğiniz üst kısma saat girdiğinizde saatleri sıralaması, tamsayı girdiğinizde saate çevirip yine sıralamasıydı. Dosyada bu işlemler hatasız bir şekilde oluyor bildiğim kadarıyla.

Mesela saatlerin hepsini topluca silmek gibi bir işlemden bahsetmemiştiniz, dolayısıyla bir önceki düzeltmeyi eklememiştim.

Sonuç olarak siz dosyadan ne bekliyorsanız bize tam olarak anlatın ki ona göre çözüm bulalım.

Bahsettiğiniz son hatayla ilgili ise ne yapınca oluştuğunu bilmeden yorum yapamam.
anladım çok saolun şimdilik bi böyle kullanalım madem ileride nerede değişiklik yaparak hatalar alırsak o zaman bildireyim
şöyle bi sorun çıktı ben backspace ile saat kısmından saatleri sildiğimde bu hatayı veriyor:

resim: https://ibb.co/mR61FLQ

dosya: https://www.dosyaupload.com/f004
 
Üst