Tarih işlevinde hata

Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007
Normal Sayfada oluşturulan biçim

If s1.Range("C7").Value = "" Then
s1.Range("C6").Copy s2.Range("B12")
s2.Range("B12").Font.Size = 12
s2.Range("B13") = s1.Range("C6") & Chr(32) & Chr(32) & s1.Range("C12")
s2.Range("B13").Font.Size = 12
Else
s2.Range("B11") = s1.Range("C7") & Chr(32) & Chr(40) & yaz(s1.Range("C7")) & Chr(41) & Chr(32) & "GÜN İSTİRAHATİ UYGUN GÖRÜLMÜŞTÜR."
s2.Range("B11").Font.Size = 12
s2.Range("B12") = trh1
s2.Range("B12").Font.Size = 12
s2.Range("B13") = trh2
s2.Range("B13").Font.Size = 12
End If


ListBox ta oluşturulan Biçim

If IstGsBox.Value = "" Then
s1.Range("B12") = TrhBox
s1.Range("B12").Font.Size = 12
s1.Range("B13") = TrhBox & Chr(32) & Chr(32) & SaatBox
s1.Range("B13").Font.Size = 12
Else
s1.Range("B11") = IstGsBox & Chr(32) & Chr(40) & yaz(IstGsBox) & Chr(41) & Chr(32) & "GÜN İSTİRAHATİ UYGUN GÖRÜLMÜŞTÜR."
s1.Range("B11").Font.Size = 12
s1.Range("B12") = trh1
s1.Range("B12").Font.Size = 12
s1.Range("B13") = trh2
s1.Range("B13").Font.Size = 12
End If


Arkadaşlar; normal sayfada aynı işlev çalıştığı halde Userform’da Listboxtan gönderirken işlemi gerçekleştiremiyor. Şöyle ki hücre boş ise;

trh1 = Format(Date + IstGsBox - 1)
trh2 = Format(Date + IstGsBox)

Formülde hata veriyor oysa hücre içeriği boş olduğunda dikkate almadan direkt aynı günün tarihini yazıp alt satırda da tarih aynı şekilde olup benim belirteceğim saati yazacak şekilde oluşması lazım.

Örnek Dosyayı ekliyorum inceleyebilirsiniz. İstirahat Gün sayısını birinde yazarak deneyin diğerinde ise gün sayısını silip denerseniz sorunu anlamanız daha kolay olacaktır.
 

Ekli dosyalar

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
....Şöyle ki hücre boş ise;

trh1 = Format(Date + IstGsBox - 1)
trh2 = Format(Date + IstGsBox)

Formülde hata veriyor ......
Merhaba,
Sizinde belirttiğiniz gibi hücre boş ise "IstGsBox - 1" işlemi hata verir. Çünkü boş(olmayan) bir değerden 1 çıkarılmaya çalışılıyor. Bunu aşmak için
Kod:
If IstGsBox <> "" Then trh1 = Format(Date + IstGsBox - 1)
If IstGsBox <> "" Then trh2 = Format(Date + IstGsBox)
şeklinde bir kontrol kullanabilirsiniz.
Ayrıca
Kod:
If IstGsBox = "" Then MsgBox "Tarih boş geçilemez"
şeklinde bir uyarı ile bu alanın boş geçilmemesi gerektiğini belirtebilirsiniz.
Kodlarınızın diğer bölümlerinde de benzer hatalar olabilir. Bunları da düzeltmeniz gerekecektir.
İyi çalışmalar.
 
Son düzenleme:
Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007
Sayın Dede verdiğiniz formül sorunu çözdü yalnız bu defada metin çevir makrosunda hatanın oluşmasına neden oldu.

Şöyleki;
a$ = Str(sayi) Run time Error "13" type mismatich

İstirahat gün sayısının eğer aynı gün işe başlayacaksa girilmemesi gerekiyor.

bir de TCBox'un 11 SclBox'un 13 rakamdan oluşma şartını nasıl koyabiliriz.

Yardımlarınız için teşekkür ederim.
 
Son düzenleme:
Katılım
7 Ağustos 2007
Mesajlar
328
Excel Vers. ve Dili
excell 2003 - 2007
Bu hatanın oluşmasına anladığım kadarıyla Else(değilse) ifadesinden sonra işlevi olan makroların devreye girmek istemesi neden oluyor
 
Üst