• DİKKAT

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

ara ara kullanılan yıllık izinlerin hücrelere kodlarla aktarılması

gezgin-49

Altın Üye
Katılım
17 Ekim 2006
Mesajlar
669
Excel Vers. ve Dili
Türkçe 2003
Sayın üstadlarım 8 tane textbox var
izin başlama tarihi izin bitiş tarihi
textbox1 Textbox2
textbox3 textbox4
texbox5 textbox6
textbox7 textbox8

tek olan texboxlar başlama izne ayrılış tarihini, çift olanlar ise izin bitiş tarihini gösteriyor,
sorum şu : izne başlama tarihlerini veri sayfası A1 den başlayarak izin bitiş tarihine kadar yazacak sonra bir boşluk bırakıp ikinci kez izne ayrılışı var ise yine aynı hücreden boşluktan sonra bitiş tarihine kadar devam edecek

örneğin :
1 izne ayrılış tarihi (textbox1) 01/06/2018 izin bitiş tarihi (textbox2) 06/06/2018 ise
A1=01/06/2018, A2=02/06/2018, A3=03/06/2018, A4=04/06/2018, A5= 06/06/2018 YAZACAK
A6 HÜCRESİ BOŞ OLACAK
2.izne ayrılış tarihi (textbox3) 10/09/2018, izin bitiş tarihi (textbox4) 15/09/2018 ise
A7=10/09/2018, A8=11/09/2018, A9=12/09/2018, A10= 13/09/2018, A11= 14/09/2018, A12=15/09/2018 YAZACAK
A13 Hücresi boş olacak
sırasıyla diğerleri de dolu ise bu şekilde olacak

kodların USERFORM'da Commandbutton1'e tıkladığımda çalışması gerekiyor.
 
Merhaba
Aşağıdaki kodları denermisiniz?
Kod:
Private Sub CommandButton1_Click()
Dim a As Date, b As Date, x As Long, n As Long, t as long
For n = 1 To 4
If IsDate(Controls("textbox" & n)) = True And IsDate(Controls("textbox" & n + 4)) = True Then
a = Controls("textbox" & n)
b = Controls("textbox" & n + 4)
If CDate(a) > CDate(b) Then
MsgBox a & " İzin baş.tarihi " & vbCrLf & b & " izin bitiş tarinden büyük"
Else
c = DateDiff("d", a, b)
x = Cells(Rows.Count, "A").End(3).Row
If x > 1 Then x = x + 2
Cells(x, 1) = a
For t = 1 To c
Cells(x + t, 1) = a + t
Next
End If
End If
Next
End Sub
 
sayın PLİNT ilginiz için teşekkür ederim. kodlar tam soruma karşılık gelmedi, öncelikle tüm textboxlara veri girmeyince hücreye atama yapmıyor, tüm textboxlar dolu olmayabilir, yani yıllık izinler 4 defada değil de 1 defada kullanılabilir, ikincisi textbox1 ve textbox 2 arasındaki verileri ilgili hücreye atadıktan sonra bir hücre boşluk bırakması gerekiyordu, ama öyle yapmıyor, ilk textboxla son texbox arasındaki tüm tarihleri atıyor.
 
Son düzenleme:
sayın üstadlarım yardımlarınızı bekliyorum. Sayın PLİNT'in kodlarında birkaç yer değişmesi lazım ama bir türlü yapamadım,
 
Sayın PLİNT çok teşekkür ederim, şimdi oldu
 
Geri
Üst