- Katılım
- 1 Haziran 2005
- Mesajlar
- 105
- Excel Vers. ve Dili
- Excel 2003-Türkçe
Aşağıdaki kodda a yada b herhangi bir değer yazdığımızda hata veriyor.
Hata vermesini nasıl engelleyebiliriz?
Yani a yada b ye tarih ile alakası bir şey yazarsak sadece hesaplama yapmasın. X yazsın sonuca mesela Mümkünmü?
Function Kidem3(Başlangıç_Tarihi, Son_Tarih)
A = Başlangıç_Tarihi
b = Son_Tarih
a1 = Int(Left$(A, 2))
a2 = Int(Mid(A, 4, 2))
a3 = Int(Right$(A, 4))
b1 = Int(Left$(b, 2))
b2 = Int(Mid$(b, 4, 2))
b3 = Int(Right$(b, 4))
If b1 > a1 Then
gun = (b1 - a1)
ElseIf b1 = a1 Then
gun = 0
Else
b2 = (b2 - 1)
gun = ((b1 + 30) - a1)
End If
If b2 > a2 Then
ay = (b2 - a2)
ElseIf b2 = a2 Then
ay = 0
Else
b3 = (b3 - 1)
ay = ((b2 + 12) - a2)
End If
Yıl = b3 - a3
If Yıl > 0 Then Yıl1 = (Yıl) Else: Yıl1 = (Yıl)
If ay > 0 Then Ay1 = (ay) Else: Ay1 = ""
If gun > 0 Then Gun1 = (gun) Else: Gun1 = ""
Kidem3 = Yıl1 & Ay1 & Gun1
End Function
Hata vermesini nasıl engelleyebiliriz?
Yani a yada b ye tarih ile alakası bir şey yazarsak sadece hesaplama yapmasın. X yazsın sonuca mesela Mümkünmü?
Function Kidem3(Başlangıç_Tarihi, Son_Tarih)
A = Başlangıç_Tarihi
b = Son_Tarih
a1 = Int(Left$(A, 2))
a2 = Int(Mid(A, 4, 2))
a3 = Int(Right$(A, 4))
b1 = Int(Left$(b, 2))
b2 = Int(Mid$(b, 4, 2))
b3 = Int(Right$(b, 4))
If b1 > a1 Then
gun = (b1 - a1)
ElseIf b1 = a1 Then
gun = 0
Else
b2 = (b2 - 1)
gun = ((b1 + 30) - a1)
End If
If b2 > a2 Then
ay = (b2 - a2)
ElseIf b2 = a2 Then
ay = 0
Else
b3 = (b3 - 1)
ay = ((b2 + 12) - a2)
End If
Yıl = b3 - a3
If Yıl > 0 Then Yıl1 = (Yıl) Else: Yıl1 = (Yıl)
If ay > 0 Then Ay1 = (ay) Else: Ay1 = ""
If gun > 0 Then Gun1 = (gun) Else: Gun1 = ""
Kidem3 = Yıl1 & Ay1 & Gun1
End Function