• DİKKAT

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

SpinButton ile Tarih Değiştirme

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,652
Excel Vers. ve Dili
Excel : 2010
Herkese selamlar,
UserForm üzerinde bir TextBox ile bir SpinButton mevcut. SpinButton'un "SpinDown ile SpinDown" özelliği ile TextBox'un içindeki güncel tarihi(gün-ay-yıl) eksiltme ve artırma şeklinde yapabilir mi? Yani UserForm aktif olduğu(açıldığı) zaman TextBox'un içinde güncel tarih belirecek ve SpinButton'un "SpinDown ile SpinDown" özelliği ile güncel tarih, GÜN bazında EKSİLTME ve ARTIRMA şeklinde olacak. Teşekkür ediyorum.
 
Aşağıdaki gibi deneyin.

Kod:
Private Sub SpinButton1_SpinDown()
TextBox1 = Format(Date - SpinButton1, "dd.mm.yyyy")
End Sub
 
Private Sub SpinButton1_SpinUp()
TextBox1 = Format(Date + SpinButton1, "dd.mm.yyyy")
End Sub
 
Levent Bey teşekkür ediyorum. Ufak bir pürüz söz konusu. SpinButton'un alt tırnağına basıldığı zaman, BÜGÜN'ün tarihi geriye doğru gitsin. Eğer BÜGÜN'ün tarihi 24.11.2006 ise, SpinButton'un alt tırnağına basıldığında, GÜN bazında 23-22-21... şeklinde yapılabilir mi? Yaptığınız uygulamada alt tırnağa basıldığı zaman GÜNÜN TARİHİ sabit kalıyor, yani GÜN tarihi eksiltmiyor. SpinButton'un üst tırnağında sorun yok. GÜNÜN tarihini ileriye götürüyor. Demek istenilen ALT TIRNAKLA, GÜNÜN tarihinden geriye gitmek. Saygı ve sevgilerimi sunuyorum.
 
Bu durumda aşağıdaki gibi deneyin.

Kod:
Private Sub SpinButton1_SpinDown()
TextBox1 = Format(CDate(TextBox1) - 1, "dd.mm.yyyy")
End Sub
 
Private Sub SpinButton1_SpinUp()
TextBox1 = Format(CDate(TextBox1) + 1, "dd.mm.yyyy")
End Sub
 
Şimdi HARİKA oldu. NO SORUN. Efendim, teşekkürlerimi ve saygılarımı arz ediyorum.
 
Başka bir alternatif

Private Sub SpinButton1_SpinDown()
TextBox1.Text = Format(CDate(TextBox1.Text) - CDate(SpinButton1.SmallChange), "dd/mm/yyyy")
End Sub

Private Sub SpinButton1_SpinUp()
TextBox1.Text = Format(CDate(TextBox1.Text) + CDate(SpinButton1.SmallChange), "dd/mm/yyyy")
End Sub

Private Sub UserForm_Initialize()
TextBox1.Text = Format(Date, "dd/mm/yyyy")
End Sub
 
Bence Takvim denetimi için TextBox yerine DTPicker kontrolünü kullansanız daha iyi edersiniz. Eğer spin buttonlu olmasını isterseniz UpDown özelliğini True yapınız.
 
Excel 2003 de bu kontrol standart gelmiyor mu? ben başka bir yerden almadım standart olmalı.

2. sorunuz; UpDown belirttiğim kontrolün bir özelliği. Normalde combobox görünümündedir UpDown özelliğini true yaparsanız tarihleri aşağı açılır kutu yerine spinbutton ile kontrol edersiniz
 
Bu durumda aşağıdaki gibi deneyin.

Kod:
Private Sub SpinButton1_SpinDown()
TextBox1 = Format(CDate(TextBox1) - 1, "dd.mm.yyyy")
End Sub
 
Private Sub SpinButton1_SpinUp()
TextBox1 = Format(CDate(TextBox1) + 1, "dd.mm.yyyy")
End Sub

Kod:
Private Sub UserForm_Initialize()
txt_isl_tar = Format(CDate(Date), "dd/mm/yyyy")
......
End Sub

Ben Her ihtimale karşı textboxa da Cdate yaptım, Ancak; Cdate nedemektir diye somadan geçemiyecem

Bence Takvim denetimi için TextBox yerine DTPicker kontrolünü kullansanız daha iyi edersiniz. Eğer spin buttonlu olmasını isterseniz UpDown özelliğini True yapınız.

Bir örnek rica etsem, takvimmi açılıyor
bu tarih değerini diğer tarihlerle karşılaştırmak için nasıl kullanılıyor
 
Hocalarım merhaba

Textbox içine aldığımız saat için SpinButton ile saatte yukarı aşağı nasıl kodlamamız gerekir?
 
Deneyiniz.

C++:
Option Explicit

Private Sub SpinButton1_SpinDown()
    On Error GoTo 10
    TextBox1 = Format(CDate(TextBox1) - CDate(Me.SpinButton1.SmallChange / 24), "hh:mm:ss")
    Exit Sub
10  MsgBox "Lütfen saat giriniz!", vbCritical
    TextBox1.SetFocus
    TextBox1 = ""
End Sub

Private Sub SpinButton1_SpinUp()
    On Error GoTo 10
    TextBox1 = Format(CDate(TextBox1) + CDate(Me.SpinButton1.SmallChange / 24), "hh:mm:ss")
    Exit Sub
10  MsgBox "Lütfen saat giriniz!", vbCritical
    TextBox1.SetFocus
    TextBox1 = ""
End Sub
 
Deneyiniz.

C++:
Option Explicit

Private Sub SpinButton1_SpinDown()
    On Error GoTo 10
    TextBox1 = Format(CDate(TextBox1) - CDate(Me.SpinButton1.SmallChange / 24), "hh:mm:ss")
    Exit Sub
10  MsgBox "Lütfen saat giriniz!", vbCritical
    TextBox1.SetFocus
    TextBox1 = ""
End Sub

Private Sub SpinButton1_SpinUp()
    On Error GoTo 10
    TextBox1 = Format(CDate(TextBox1) + CDate(Me.SpinButton1.SmallChange / 24), "hh:mm:ss")
    Exit Sub
10  MsgBox "Lütfen saat giriniz!", vbCritical
    TextBox1.SetFocus
    TextBox1 = ""
End Sub


Teşekkür ederim :)
 
Geri
Üst