• DİKKAT

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

Tarih seçici ekleme hk

Katılım
14 Kasım 2017
Mesajlar
618
Excel Vers. ve Dili
2010 Türkçe
İstediğim bir hücreye tıkladığımda tüm tarihi karşıma getirmesini oradan seçtiğimdede o tarihi o hücreye eklemem mümkünmü böyle birşey yapılabilirmi.

Mesela o hücreye yada hücredeki birşeye tıkladığımda aşağıdaki gibi tarih çıksın ve ordan seçtiğim tarih o hücreye eklensin.

2gvmnmb.jpg
 
Hocam teşekkür ederim tam olarak istediğim buydu. Bana bunun nasıl yapıldığını anlatırsanız çok memnun olurum. Çünkü hem bu işi öğrenmek hemde istediğim gibi kişileştirmek istiyorum.
 
Forumda ve forum dışında "Excel Takvim uygulaması" olarak aradığınızda birçok örneğe rastlayabilirsiniz.
Ancak; her uygulama her excel versiyonunda tam verimli olarak çalışmayacaktır.32 bit veya 64 bit olması da ayrıca sorun yaratabilecektir.
Eklenen dosyadaki kod ise yabancı kaynaklardan derlenmiş, ufak bir revizyon ile Excel versiyonlarında Türkçe Takvim olarak kullanılabilmektedir.
Takvimi oluşturan kodların esası VBA kod sayfasında görüleceği gibi, Class Modules altında yer alan "cCalendar" içindedir.
Buradaki kodlar, Takvim Formu'nu belirler, günlerin ayların sıralanaması vb. gibi.

Forms altında görülen Takvim Formu ise Tarih seçiminde aktif hücreye seçilen tarihi yazdırmayı sağlar.
Aktif Hücreye tarihi yazdıktan sonra Takvim kapanır.
Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
Unload Me

End Sub

Yine Sayfa1 kodunda görüleceği gibi; Sayfa1 de çift tıklama yapıldığında Takvim Formu'nun görüntülenmesi sağlanır.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Takvim.Show
End Sub

Kişiselleştirmek isterseniz Class Modülündeki "CCalendar" kodlarını izlemeniz ve değişikliklik yapmanız gerekir.
Ancak; bilmeden müdahale etmek yanlışlığa neden olabilir. Dikkatlice denemeler yaparak "kendi" takviminizi oluşturabilirsiniz.
İyi çalışmalar.
 
Yine Sayfa1 kodunda görüleceği gibi; Sayfa1 de çift tıklama yapıldığında Takvim Formu'nun görüntülenmesi sağlanır.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Takvim.Show
End Sub

Peki hocam takvimin herhangi bir hücreye çift tıklama ile değilde kendi belirleyeceğimiz hücreye tıklandığında görünmesini sağlamak için ilgili kodun neresinde nasıl bir değişiklik yapmak gerekir.
 
Bunun için:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A5")) Is Nothing Then Exit Sub
Takvim.Show
End Sub

şeklinde kullanabilirsiniz.
Örnek "A5" hücresine geldiğinizde Takvim çıkar ve seçilen tarih "A5"e yazılır.
Kendinize uygun şekilde "A5" yerinew istediğiniz tek bir hücreyi verebilirsiniz.

Tek hücrede değil de belli bir aralıkta olmasını isterseniz; o zaman;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A5:A7")) Is Nothing Then Exit Sub
Takvim.Show
End Sub

yapabilirsiniz.
Buradaki örnek aralık "A5:A7" yi de istediğiniz şekilde uyarlayabilirsiniz.

İyi çalışmalar...
 
Bunun için:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A5")) Is Nothing Then Exit Sub
Takvim.Show
End Sub

şeklinde kullanabilirsiniz.
Örnek "A5" hücresine geldiğinizde Takvim çıkar ve seçilen tarih "A5"e yazılır.
Kendinize uygun şekilde "A5" yerinew istediğiniz tek bir hücreyi verebilirsiniz.

Tek hücrede değil de belli bir aralıkta olmasını isterseniz; o zaman;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A5:A7")) Is Nothing Then Exit Sub
Takvim.Show
End Sub

yapabilirsiniz.
Buradaki örnek aralık "A5:A7" yi de istediğiniz şekilde uyarlayabilirsiniz.

İyi çalışmalar...

peki hocam a5:a7 arasında tek değilde çift tıklama yaparak tarihi açmak istersek nasıl yapabiliriz
 
Deneyiniz.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("A5:A7")) Is Nothing Then Exit Sub
    Cancel = True
    Takvim.Show
End Sub
 
Bunun için:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A5")) Is Nothing Then Exit Sub
Takvim.Show
End Sub

şeklinde kullanabilirsiniz.
Örnek "A5" hücresine geldiğinizde Takvim çıkar ve seçilen tarih "A5"e yazılır.
Kendinize uygun şekilde "A5" yerinew istediğiniz tek bir hücreyi verebilirsiniz.

Tek hücrede değil de belli bir aralıkta olmasını isterseniz; o zaman;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A5:A7")) Is Nothing Then Exit Sub
Takvim.Show
End Sub

yapabilirsiniz.
Buradaki örnek aralık "A5:A7" yi de istediğiniz şekilde uyarlayabilirsiniz.

İyi çalışmalar...

Merhabalar, ben bu tarihin yanında ek olarak saati de seçmek istiyorum nasıl yapabilirim? Yardımcı olur musunuz?
 
İlgili nesnede tıklama olayında veriyi hücreye yazan kod bölümünde bu işlemi yapabilirsiniz.

Aşağıdaki gibi bir kurgu düşünebilirsiniz.

Hücre Adresi = Now
 
Forumda ve forum dışında "Excel Takvim uygulaması" olarak aradığınızda birçok örneğe rastlayabilirsiniz.
Ancak; her uygulama her excel versiyonunda tam verimli olarak çalışmayacaktır.32 bit veya 64 bit olması da ayrıca sorun yaratabilecektir.
Eklenen dosyadaki kod ise yabancı kaynaklardan derlenmiş, ufak bir revizyon ile Excel versiyonlarında Türkçe Takvim olarak kullanılabilmektedir.
Takvimi oluşturan kodların esası VBA kod sayfasında görüleceği gibi, Class Modules altında yer alan "cCalendar" içindedir.
Buradaki kodlar, Takvim Formu'nu belirler, günlerin ayların sıralanaması vb. gibi.

Forms altında görülen Takvim Formu ise Tarih seçiminde aktif hücreye seçilen tarihi yazdırmayı sağlar.
Aktif Hücreye tarihi yazdıktan sonra Takvim kapanır.
Private Sub Calendar1_Click()
ActiveCell.Value = Calendar1.Value
Unload Me

End Sub

Yine Sayfa1 kodunda görüleceği gibi; Sayfa1 de çift tıklama yapıldığında Takvim Formu'nun görüntülenmesi sağlanır.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Takvim.Show
End Sub

Kişiselleştirmek isterseniz Class Modülündeki "CCalendar" kodlarını izlemeniz ve değişikliklik yapmanız gerekir.
Ancak; bilmeden müdahale etmek yanlışlığa neden olabilir. Dikkatlice denemeler yaparak "kendi" takviminizi oluşturabilirsiniz.
İyi çalışmalar.
hocam aynısını kopyalayıp kopyalayıp kendi sayfama yapıştırdım ama " Private Sub UserForm_Initialize() " bu hatayı alıyorum sürekli. nerde yanlış yapıyorum acaba
 
İstediğim bir hücreye tıkladığımda tüm tarihi karşıma getirmesini oradan seçtiğimdede o tarihi o hücreye eklemem mümkünmü böyle birşey yapılabilirmi.

Mesela o hücreye yada hücredeki birşeye tıkladığımda aşağıdaki gibi tarih çıksın ve ordan seçtiğim tarih o hücreye eklensin.

2gvmnmb.jpg
Hocam dosya görünmüyor
 
Dosyaya 2. mesajdan ulaşabilirsiniz.
 
Bunun için:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A5")) Is Nothing Then Exit Sub
Takvim.Show
End Sub

şeklinde kullanabilirsiniz.
Örnek "A5" hücresine geldiğinizde Takvim çıkar ve seçilen tarih "A5"e yazılır.
Kendinize uygun şekilde "A5" yerinew istediğiniz tek bir hücreyi verebilirsiniz.

Tek hücrede değil de belli bir aralıkta olmasını isterseniz; o zaman;

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A5:A7")) Is Nothing Then Exit Sub
Takvim.Show
End Sub

yapabilirsiniz.
Buradaki örnek aralık "A5:A7" yi de istediğiniz şekilde uyarlayabilirsiniz.

İyi çalışmalar...

Hocam bende b2 hücresi seçili ise ve çift tıklandığında takvimin çıkmasını istiyorum. Tşk ler
 
Aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("B2")) Is Nothing Then Exit Sub
    Cancel = True
    Takvim.Show
End Sub
 
Hocam sağa tıklayınca tarih açan örnek excel dosyası indirmiştim ama bu komut açtığım tüm excel dosyalarında ( istemediğim halde) çıkıyor, başka bir dosyada sağa tıklayıp işlem yapamıyorum yardım edebilir misiniz
 
Geri
Üst