• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü textbox a yazılan tarihin kendini bozması

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

Discreum

Yeni Üye
Aktivite

0%

Katılım
21 Mar 2021
Mesajlar
152
Aldığı beğeni
37
Excel V
Office 2019 TR
Konu Sahibi
Adsız.pngAdsız2.png
Normalde Excel yüklerim ama bu pek karışık bir konu olmadığını düşünerek eklemedim.
ancak tarihi dümdüz 8 hane olarak yazınca yukardaki gibi saçma bir hal alıyor ama heştek işaretindeki nokta yerine - işaretini koyunca normal hiç bir problem yok ancak ben ille de nokta olmasını istiyorum
 
format kısmını kaldırın
 
Üstat şunu kullanın:
"##,##,####"
Nokta yerine Virgül

Sonuç olarak 02.02.2022 şeklinde tarih göreceksiniz.
 
Ayrıca şöyle de bir alternatif var:

Textbox Change olayına:

'Select Case TextBox1.SelStart
'Case Is = 2, 5
'TextBox1.SelText = "."
'End Select
 
Konu Sahibi
Üstat şunu kullanın:
"##,##,####"
Nokta yerine Virgül

Sonuç olarak 02.02.2022 şeklinde tarih göreceksiniz.
sevgili üstadım onu ben denediydim ztn bu seferde bu şekilde kaydırma yapıyor sebebi ise başlangıçta 07.03.2022 yazdığımda 07 deki 0 değerini almıyor direk 7 den başlatıyor ve buda kaymaya sebep oluyor yani 0 değerini kaydırmasını anlamadım ztn
 
Bunu deneyin :)

If Left(TextBox3.Value, 1) = 0 Then
TextBox3.Value = Format(Right(TextBox3.Value, 7), "0#,##,####")
Else
TextBox3.Value = Format(TextBox3.Value, "##,##,####")
End If

İlk rakam 0 olduğunda, metin uzunluğunu 8 olarak saysa bile 7 basamaklı sayı gibi davranıyor.
Ufak bir hile ile sanıyorum halledebiliriz. :)
 
Konu Sahibi
Ayrıca şöyle de bir alternatif var:

Textbox Change olayına:

'Select Case TextBox1.SelStart
'Case Is = 2, 5
'TextBox1.SelText = "."
'End Select
çözüm yolu
heçtek simgesinin ardındaki noktalama işaretlerini sildim ve ubak üstadım sizin eklediğiniz kodlamayı
'Select Case TextBox1.SelStart
'Case Is = 2, 5
'TextBox1.SelText = "."
'End Select

keypress prosedüründe

Private Sub TextBox3_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii < 48 Or KeyAscii > 57 Or KeyAscii = 32 Then
KeyAscii = 0
End If
Select Case TextBox3.SelStart
Case Is = 2, 5
TextBox3.SelText = "."
End Select
End Sub

ekleme yaptım ve textbox daki maximum karakter sınırını 8 den 10 a çıkarınca sorun tamamen çözülmüş oldu soal ubak hocam.
 
Rica ederim.
8 numaralı mesajda yazdığım koşul kontrolü senin kodları da hallediyor aslında. Hangisini istersen onu kullanırsın.
İyi geceler.
 
Düzelteme 8 numaralı mesajı unut. Hala kaydırma yapıyor. :) :)
Alternatif yöntemle devam :)
 
Sonunda buldum :)
Her türlü on numara sonuç veriyor.
Format(CDate(Format(TextBox1.Value, "##-##-####")), "dd.mm.yyyy")
 
Son düzenleme:
Çözüm
Benim kullandığım kodlar var alttaki gibi.
Sadece rakam girebilirsiniz..

HTML:
Rich (BB code):
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Buda örneğin sayfaya butonla kaydetmede hatalı tarih ise mesaj veriri ayrıca ben 2019 dan küçük şartı eklemiştim.

Userform kod;
HTML:
Rich (BB code):
İçeriği görebilmek için Giriş yap ya da Üye ol.

Modül kod;
HTML:
Rich (BB code):
İçeriği görebilmek için Giriş yap ya da Üye ol.
 
Son düzenleme:
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst