textbox tarih

Katılım
8 Nisan 2005
Mesajlar
77
textboxa yazmış olduğum tarihi hücreye bazen tarih olarak bazende metin olarak kaydediyor kayıt yapmış olduğum hücrlerin formatı tarih olduğu halde bu neden kaynaklanabilir kodlarda hata olabilirmi?
kodlar aşağıdaki gibi;

Private Sub CommandButton1_Click()

Call UserForm_Initialize
sat = Sheets(ComboBox1.Value).[a1:a65536].Find(ComboBox2.Value).Row
Sheets(ComboBox1.Value).Cells(sat, 13) = TextBox2.Value
ComboBox2.Value = ""
TextBox1.Value = ""
TextBox2.Value = ""

End Sub

Private Sub UserForm_Initialize()

TextBox1 = Format(TextBox1, "dd""/""mm""/""yyyy")
TextBox2 = Format(TextBox2, "dd""/""mm""/""yyyy")
For B = 1 To Sheets.Count
ComboBox1.AddItem Sheets(B).Name
Next

End Sub
 

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
Sheets(ComboBox1.Value).Cells(sat, 13) = TextBox2.Value

Yukarıdaki satırı aşağıdaki gibi değiştirerek deneyin.

Sheets(ComboBox1.Value).Cells(sat, 13) = clng(cdate(TextBox2.Value))

not:Hücrenizi tarih formatına getirmeyi unutmayın. Textboxada tarihi eğer yıl içinde bulunduğumuz yıl ise 5-6 şeklinde (gün-ay) olarak yazmanız yeterlidir.
 
Katılım
8 Nisan 2005
Mesajlar
77
sayın leventm verdiğiniz örnekte olduğu gibi yazdım her zaman tarih olarak atıyor problem çözüldü. fakat textboxı bazen boş bırakmam gerekiyor o zaman

RUN TIME ERROR '13'
TYPE MISMATCH

hatası verdi

sanırım sizin verdiğiniz örnekte textboxta sürekli bir tarih olması şart
 

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
Bu durumda bir if ile textbox boş ise buna önlem alın. Ã?rneğin;

if textbox2="" then Sheets(ComboBox1.Value).Cells(sat, 13) =""
 
Katılım
12 Şubat 2005
Mesajlar
96
tarihi hücreye tarih olarak atamak için yukarıdaki örneği dosyama uygulamak istedim... kodum aşağıdaki gibi oldu
Sheets("Sayfa2").Range("K16").Value = CLng(CDate(TextBox42.Value))
..sonrasında hesaplama yapan makro kullanıyorum..
Hücreyi boş bıraktığımda hata vermemesi için yukarıdaki if li kodu kullanmak istedim ancak başaramadım.. Nasıl yapmalıyımki hücre boş kaldığında problem çıkmasın?
 

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
Buna net cevap vermek için hücre boş kaldığında neden hata verdiğini anlamak gerekir yani kodlarınızı vermelisiniz. Ama en kısa yoldan kodlarınızın başına ilk satır olarak "on error resume next" satırını ilave edebilirsiniz.
 
Katılım
12 Şubat 2005
Mesajlar
96
Dosya büyük ekleyemiyorum. Kullandığım kodları yazmaya çalışayım..
Textbox42 ye girdiğim tarih K16 hücresine gidiyor. Kodları
1) Sheets("Sayfa2").Range("K16").Value = CLng(CDate(TextBox42.Value))
2) Private Sub TextBox42_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox42 = Format(TextBox42, "dd""/""mm""/""yyyy")
End Sub
makromun içinde ki
Range("K16").Select
Selection.Copy
Range("I4:I8").Select
ActiveSheet.Paste
kodu kullanıp
Sonrasında http://www.excel.web.tr/viewtopic.php?t=2661 de bulunan hesapla makrosunu çalıştırıyorum.. Hesapla makrosu hata veriyor. Tarihin matin olarak algılandığını düşünüyorum..
 
Katılım
12 Şubat 2005
Mesajlar
96
aşağıdaki gibi yapmak istedim ancak biryerlerde hata yapıyorum... doğrusu nedir?
If TextBox42 = "" Then GoTo 20
Sheets("Sayfa2").Range("K16").Value = CLng(CDate(TextBox42.Value)) '
Range("K16").Select
Selection.Copy
Range("I4").Select
ActiveSheet.Paste
hesapla
Range("L5").Select
Selection.Copy
Range("L11").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=Fal
20
TextBox47 = Format(Sheets("Sayfa2").[K21], "###,##0.00")
End Sub
 
Üst