Metin kutusunun formatını ayarlamak

Katılım
28 Temmuz 2004
Mesajlar
275
Þu makro işine bulaşmakla iyi mi ettim sanki. İnsan biraz kör, biraz topal ilerlemekte zorluk çekiyorum. Bir userform da tarih, tutar, firma, telefon metin kutuları var. Tahmin edeceğiniz gibi

Tarih---> dd.mm.yyyy
tutar----> ###.###,## ve harf almasın istiyorum
Firma---> Buna bir şey istemiyorum
Tel -----> ###-### ## ##

formatında olsun istiyorum. Hem de daha ben yazarken ayarlasın istiyorum. Bir bilen bunu basit örnekleriyle başvuru kaynağı olacak gibi izah etsin istiyorum. Bugün bütün günümü tarihi dd.mm.yyyy halinde nasıl aldırırım, nereye yazdırırım diye internette dolaşarak geçirdim. Bu internet yanımda kitap bulundurma alışkanlığımı da küllendirdiği için kafam kazan gibi oldu.

Yardımlarınız için teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn Serpily

Bunun için sitemizde bir çok kaynak vardı. Aşağıdaki linkleri inceleyiniz.

selamlar

http://www.excel.web.tr/viewtopic.php?t=412&highlight=textbox

http://www.excel.web.tr/viewtopic.php?t=175&highlight=textbox

http://www.excel.web.tr/viewtopic.php?t=229&highlight=textbox

örnek;yazarken değişmesi için Change olayını kullanmak gerekir. Fakat bu durumda tarih yazarken sorun yaşarsınız. Ben exit olayına yazmanızı tavsiye ederim.

[vb:1:287a0609fd]Private Sub TextBox1_Change()
TextBox1 = Format(TextBox1, "dd.mm.yyyy")
End Sub[/vb:1:287a0609fd]

textboxtan çıkarken format değişimi için.

[vb:1:287a0609fd]Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "dd.mm.yyyy")
End Sub[/vb:1:287a0609fd]
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sadece sayı yazmak içinde aşağıdaki linki inceleyiniz.

http://www.excel.web.tr/viewtopic.php?t=1213&highlight=n%FCmerik

tel no için

[vb:1:9b79c6637a]Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1 = Format(TextBox1, "###-### ## ##")
End Sub
[/vb:1:9b79c6637a]

tutarda sadece sayısal değer (sayının 1.234,56 şeklinde) yazılması için

[vb:1:9b79c6637a]Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If IsNumeric(TextBox1) = True Then
TextBox1 = Format(TextBox1, "###,###.##")
Exit Sub
End If
TextBox1 = "GİRİLEN DEÐER HATALIDIR"
End Sub[/vb:1:9b79c6637a]

girilen değer sayısal değilse kendi textboxuna uyarı yazısı yazacaktır.

Not:Cevaplar parçalı olarak geldiği için lütfen kusuruma bakmayın, iş yerimde olduğumdan hepsini birarada yazacak vakit bulamadım. Ayrıca"MAKRO Ã?RNEKLERİ VE BİLGİLER" sayfasında Sn xxrt'nin textboxlar vermiş olduğu bir çok örneğide incelemenizi tavsiye ederim.
 
Katılım
28 Temmuz 2004
Mesajlar
275
Sayın levetm;

Sizin gibi modlar dostlar başına. Cevaplar hızlı ve yerinde. Sizinle çalışmak çok güzel. Sene sonu işleri dolayısıyla teşekkürüm geçikti, özür dilerim.

Gelelim konuya. Bu önerdiklerinizi denemiştim. Aslında istediğim şuna benzer bir şey.

Private Sub Tarih_Change()
If Len(Tarih.Text) = 2 Then Tarih.Text = Tarih.Text + "."
If Len(Tarih.Text) = 5 Then Tarih.Text = Tarih.Text + "."
If Len(Tarih.Text) = 10 Then Tarih.Text = Left(Tarih.Text, 10)
End Sub


Yine de ilginize teşekkür ederim. Haftasonu dolayısıyla siteden habersiz kalacağım. Sizlere iyi yıllar.
 
Üst