İzin bu

Katılım
30 Eylül 2005
Mesajlar
303
Excel Vers. ve Dili
2003 excel türkçe
Bir exel dosyamad Visua Basic te İzin bu kısmı var şöyle

izinbul = 0
If farkyil >= 1 Then izinbul = 14
If farkyil < 5 And yas < 18 Or yas > 50 Then izinbul = 20
If farkyil >= 6 Then izinbul = 20
If farkyil >= 15 Then izinbul = 26
End Function


Burda bir degişiklik istiyorum nasıl yapacağımı şafıdım yardım olurmusunuz.
Şöyle Olacak
1 yıldan 10 yıla kadar olan personele 20 gün
10 yıldan fazla olanlara otuz gün üçretsiz yıllık izin verilecek şekilde olması için

yardımlarınızı bekliyorum
 
Katılım
30 Eylül 2005
Mesajlar
303
Excel Vers. ve Dili
2003 excel türkçe
ekteki dosyada Personell sayfasında L sütununda kişileren giriş tarihine göre 0 ile 1 yıl arası
izin hakkı yok -1 yıl ile 10 yıl arası 20 gün -10 yıldan sonra 30 gün yazması istiyorum
istifa edenlerinde istifa ette diye yazması için .
Galiba yukarıda anlatamadım
Bb Şifresi:qwerty
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
bu kodu denermisiniz

Sub izinhakkı()
Dim Tarih As Date
For i = 3 To WorksheetFunction.CountA(Worksheets(ActiveSheet.Name).Range("B3:B65000")) + 2
Tarih = Cells(i, 6).Value
If Date - Cells(i, 6).Value < 3653 Then
Sheets("Personell").Cells(i, 12).Value = 20
ElseIf Date - Sheets("Personell").Cells(i, 6).Value >= 3653 Then
Sheets("Personell").Cells(i, 12).Value = 30
End If
Next i
MsgBox "işlem tamam"
End Sub
 
Katılım
30 Eylül 2005
Mesajlar
303
Excel Vers. ve Dili
2003 excel türkçe
bu formulü oturtamadım yerine olmadı . Dosya üstte yardımcı olursanız sevinirim
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
fazladan mesaj oldu
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
ekli dosyanızı kontrol ediniz dosyayalı aldıktan sonra haber verin bu dosyayı sileceğim
çünkü kodunu buraya yazıyorum

Private Sub CommandButton1_Click()
Dim Tarih As Date
For i = 3 To WorksheetFunction.CountA(Worksheets("Personell").R ange("B3:B65000")) + 2
If Sheets("Personell").Cells(i, 2).Value > 0 Then
Tarih = Sheets("Personell").Cells(i, 6).Value
If Date - Sheets("Personell").Cells(i, 6).Value < 365 Then
Sheets("Personell").Cells(i, 12).Value = "İZİN HAKKI YOK"
ElseIf Date - Sheets("Personell").Cells(i, 6).Value > 365 And Date - Sheets("Personell").Cells(i, 6).Value < 3653 Then
Sheets("Personell").Cells(i, 12).Value = 20
ElseIf Date - Sheets("Personell").Cells(i, 6).Value >= 3653 Then
Sheets("Personell").Cells(i, 12).Value = 30
End If
End If
Next i
MsgBox "işlem tamam"
End Sub
 
Son düzenleme:
Katılım
30 Eylül 2005
Mesajlar
303
Excel Vers. ve Dili
2003 excel türkçe
G sütununda işten ayrılma tarihi burda eğer ayrılma tarihi yazıyorsa L sütünuna izin hakkı yok gibi yazıyla istifa etmiştir yazmasını istiyorum
Gönderdiniz dosya diğerleri doğru
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
kodu aşağıdakiyle değiştirin

Private Sub CommandButton1_Click()
Dim Tarih As Date
For i = 3 To WorksheetFunction.CountA(Worksheets("Personell").Range("B3:B65000")) + 2
If Sheets("Personell").Cells(i, 2).Value > 0 Then
If Sheets("Personell").Cells(i, 7).Value > 0 Then
Tarih = Sheets("Personell").Cells(i, 6).Value
If Date - Sheets("Personell").Cells(i, 6).Value < 365 Then
Sheets("Personell").Cells(i, 12).Value = "İZİN HAKKI YOK"
ElseIf Date - Sheets("Personell").Cells(i, 6).Value > 365 And Date - Sheets("Personell").Cells(i, 6).Value < 3653 Then
Sheets("Personell").Cells(i, 12).Value = 20
ElseIf Date - Sheets("Personell").Cells(i, 6).Value >= 3653 Then
Sheets("Personell").Cells(i, 12).Value = 30
End If
Else
Sheets("Personell").Cells(i, 12).Value = "işten ayrıldı"
End If
End If
Next i
MsgBox "işlem tamam"
End Sub
 
Katılım
30 Eylül 2005
Mesajlar
303
Excel Vers. ve Dili
2003 excel türkçe
VAB PROJECT İCİNE DE BULUNAN SAYFA 9 (PERSONELL ) DOSYASIN İÇİN DE SİZİN ÖNCE KAYDİNİZ DOSYA BU SİLİP İÇİNE YENİ YAZDINZI KAYDETTİM AMA
For i = 3 To WorksheetFunction.CountA(Worksheets("Personell").R ange("B3:B65000")) + 2

Bu satır kırmız çıktından işlemi yapamıyar dosyayı siz tekrar atarsanız sevinirim
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
R ange yazan gerin arasında gönderme sırasında boşluk oluşuyor o boşluğu kaldır

Range
 
Katılım
30 Eylül 2005
Mesajlar
303
Excel Vers. ve Dili
2003 excel türkçe
Değerli kardeşim Halit3 bu proğramda bazı değişikler olmak zorunda oldu çünük 4-b li memurlar için uyguladınımda bu eski proğramda degişklik gerekti.

memirbilgisi sayfasında kişiye rapor 10 gün girdiğimde işe başlama bitim tarihinden hemen sonraki gün olması gerekirken esiki proğram cumatresi ve pazarıda ekliyor .


Örnek:KULLANACAĞI İZİN ÇEŞİDİ: HASTALIK
KULLANACAĞI İZİN MİKTARI: 10
İZİN BAŞLANGIÇ TARİHİ: 04.06.2009 Perşembe
İZİN DÖNÜŞ İŞE BAŞLAMA TARİHİ: 16.06.2009 Salı

ekranın o kısmına hastalık izni okeyleyip 10 gün yazdıktan sonra izin başlanğıc tarih yazına işi başlama tarihini otomatak olarak atıyor burda 16.06.2009 degil 14.06.2009 başlama tarihi olması gerekiyor
memur bilgi sayfasının sağ ileri kısmında bunla ilgili bilgi var ama ona ulaşamıyorum ileri gitmiyor
yardımlarınızı bekliyorum.
 
Katılım
30 Eylül 2005
Mesajlar
303
Excel Vers. ve Dili
2003 excel türkçe
G sütunuda İşten ayrılma tarihi varsa L sütununa İşten ayrıldı yazacak yoksa izin hakkı yoktur veya varsa izin hakkı miktarını yazacaktı burda küçük bir sorun olmuş
G sütüununda tarih varken izin hakkı yok yazıyor aysa işten ayrıldı yazacaktı
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
kodu bununla değiştir
Private Sub CommandButton1_Click()
Dim Tarih As Date
For i = 3 To WorksheetFunction.CountA(Worksheets("Personell").Range("B3:B65000")) + 2
If Sheets("Personell").Cells(i, 2).Value > 0 Then
If CDate(Sheets("Personell").Cells(i, 7).Value) = "00:00:00" Then
Tarih = Sheets("Personell").Cells(i, 6).Value
If Date - Sheets("Personell").Cells(i, 6).Value < 365 Then
Sheets("Personell").Cells(i, 12).Value = "İZİN HAKKI YOK"
ElseIf Date - Sheets("Personell").Cells(i, 6).Value > 365 And Date - Sheets("Personell").Cells(i, 6).Value < 3653 Then
Sheets("Personell").Cells(i, 12).Value = 20
ElseIf Date - Sheets("Personell").Cells(i, 6).Value >= 3653 Then
Sheets("Personell").Cells(i, 12).Value = 30
End If
Else
Sheets("Personell").Cells(i, 12).Value = "işten ayrıldı"
End If
End If
Next i
MsgBox "işlem tamam"
End Sub



diğer sorunu anlayamadım
modül1 de
Sub uto_open() makrosu var bunu kaldırırsan sayfanın sağ tarafına gidebilirsin
 
Katılım
30 Eylül 2005
Mesajlar
303
Excel Vers. ve Dili
2003 excel türkçe
üstteki sorunların çoğunu hallettim.
Yalnız
memur bilgisi sayfasından Örnek Canan Uracin diye bir prsonele hastalık izni 10 gün girdem
personel sayfasında 45CT günü 10 45CU ayrılış tarihi 45CV Başlangıç tarihi 45CW yada açıklamayı yazmaı idi .Oyasa birier sütün öne yazıyor Yani 45CS ye yazmış 10 günü oysa 45CT yazmalıydı. dosyayı tekrar gönderiyorum bir bakarsanız.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
modül1 de aktar makrosunnun içinde
bu bölüm var

Case "YILLIK": deg = 17
Case "MAZERET": deg = 57
Case "HASTALIK": deg = 97
Case "ÜCRETSİZ": deg = 137

aşağıdakiyle değiştir

Case "YILLIK": deg = 18
Case "MAZERET": deg = 58
Case "HASTALIK": deg = 98
Case "ÜCRETSİZ": deg = 138

herhamde bir sutun eklebişsin sayfaya ondan oluyor
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,800
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
iyi çalışmalar
 
Üst