Kod:
Sub SonGün()
Dim i As Date
Dim x As Date
i = "15/03/2006" 'Örnek Tarih 3. ayın kaç çektiğini bulacağız
x = DateAdd("m", 1, i - (Day(i) - 1))-1
MsgBox x
End Sub
if kullanarak eğer bulduğumuz süre izin süresinin gün toplamından küçükse, kalan sayıyı da diğer aya yazalım. Mesela 28.01.2009 tarihinde başlayan 10 günlük bir izin için yukardaki fonksiyonla ayın son günü olan 31 sayısını bulalım. 31-28=4 olarak 4 günü Aralık 2009'a, kalan 10-4=6 yı da Ocak 2010'a yazacağız. Bu bir fikir. Uygulaması nasıl olur derseniz bir sürü if then yazarsanız olur.
Ama bir başka yol da şudur. Dateadd kullanarak tarihler arasındaki her gün için tarihleri bir tabloya yazdırın. Sonra da ay ve yılına göre sorgulayın. Bu çok daha basit bir yöntem.. Bunu bir taksitlendirme gibi düşünün.. Daha kolay alhılanabilir o zaman. Daha sonra bu tarihleri gün- ay- yıl olarak parçalayarak da kullanabilirsiniz.