• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Özel günler dışında gün hesaplama

Katılım
27 Ağustos 2010
Mesajlar
43
Excel Vers. ve Dili
Microsoft Office 2016 İngilizce
Merhaba,

Bir tarih üzerine ek gün eklemek istiyorum. Hesaplanan tarih eğer listemde yer alan tatil günlerinden birine denk gelirse tatil listemde yer almayan bir önceki iş gününü göstersin.

Bu şekilde bir macro yazma konusunda yardımınızı rica ederim.

Tatil günleri listemde ülkemizdeki tatil günleri, dolar tatili ve euro tatili bulunmaktadır.

Örnek excel ektedir.
 

Ekli dosyalar

Son düzenleme:
Aşağıdaki kodu deneyiniz.

Kod:
Sub dene()
a = Cells(3, 5) + Cells(3, 6)
For i = 1 To 123
If Cells(i, 2) = a Then
b = a - 1
Cells(3, 7) = b
Exit Sub
End If
Next
End Sub
 
Aşağıdaki kodu deneyiniz.

Kod:
Sub dene()
a = Cells(3, 5) + Cells(3, 6)
For i = 1 To 123
If Cells(i, 2) = a Then
b = a - 1
Cells(3, 7) = b
Exit Sub
End If
Next
End Sub

malesef çalışmıyor,

1- a = Cells(3, 5) + Cells(3, 6) kodu için a eğer liste dışında bir tarih ise toplamıyor
2- Listede yer alan tarihi de verebiliyor
 
Birde bunu deneyin.
Kod:
Sub dene()
Application.ScreenUpdating = False
Cells(3, 7) = ""
a = Cells(3, 5) + Cells(3, 6)
For i = 1 To 123
If Cells(i, 2) = a Then
b = a - 1
Cells(3, 7) = b
Exit Sub
Else
Cells(3, 7) = a
End If
Next
Application.ScreenUpdating = True
End Sub
 
Birde bunu deneyin.
Kod:
Sub dene()
Application.ScreenUpdating = False
Cells(3, 7) = ""
a = Cells(3, 5) + Cells(3, 6)
For i = 1 To 123
If Cells(i, 2) = a Then
b = a - 1
Cells(3, 7) = b
Exit Sub
Else
Cells(3, 7) = a
End If
Next
Application.ScreenUpdating = True
End Sub

Malesef yine olmadı,
Kodlarınızdaki mantık anladığım kadarı ile tarih ile (i,2) hücresi eşit olduğunu tespit ettiğinde tarihi 1 gün geri çekiyor. Fakat sonrasında geri çektiği tarihi tekrar sorgulaması gerekli listede var mı yok mu.

Do While ya da Do Until tarzı bir döngü olması gerekli sanırım. Fakat denemeler yapmama rağmen başaramadım bunu.
 
Geri
Üst