Skip to main content

AccessTr.neT


657 Terfi

657 Terfi

#7
Şimdi abime şöyle arz edeyim.
Yıl kısmını görmezden gelin şimdilik
Ay ve Terfi Çeşidi kısmına bakalım

Form sayfasında Ay Mart Olsun, Terfi Çeşidi de Normal Terfi Olsun

VERİ sayfasında NORMAL TERFİ J sütununda Şubat 14 ve Mart 15 arasında olan tarihlerde ki bilgileri FORM sayfasına aktaracağız.

YIL kısmı ise abim benim
Onay için gerekli. Yani kod ile gerekli değil. Ama benim amirin onayına sunmam için gerekli. Yani amirin hangi yıla ait olduğunu bilmesi için bilgi.

İnşallah abime arz etmişimdir.
Cevapla
#8
terfi türü kısmı önemli değil onu zaten hallettim
sorun aralığı almakta
ilk mesajınızda bir önceki ay dediniz normal olarak insanın aklına
Ocak 2020 dediyseniz --> Aralık 2019 - ocak 2020
5. mesajınızda önce 1 aylık dönemi sonra da yaklaşık son 12.5 aylık dönemi dediniz
son mesajınızda ise yıl önemli değil dediniz
mesela diyelim ki J,M ve P sütunlarında 1980 sonrası yaklaşık 40 yıllık her ay ve güne ait kayıtlar var
siz OCAK ayını seçtiniz ben şimdi
14 aralık 1980,
21 aralık 1999 yada ne bileyim
30 Aralık 2001
tarihlerini de alacak mıyım?
Cevapla
#9
Berduş ustam
Ocak ayı seçtik
J sütunu yıllık olduğu için : Aralık 14 ve Ocak 15 aralığında tarih var ise FORM sayfasına aktarıyoruz.

M sütunu için : 2 yıl şartı var. 
İsminden de anlaşılacağı gibi Aralık 14 ve Ocak 15 aralığında tarih olacak ve yıl kısmı 2 yıl doldurmuş olacak.
Örnek (M Sütunu için) Terfi Tarihi : 17/12/2018
Yıl kısmı 2 yılı tamamladığı,  Ay kısmı da Aralık 14 Ocak 15 arasında olduğu için öğretmenimize terfi vereceğimizden form sayfasına aktarıyoruz.

P sütunu için : 8 yıl şartı var.
 İsminden de anlaşılacağı gibi Aralık 14 ve Ocak 15 aralığında tarih olacak ve yıl kısmı 2 yıl doldurmuş olacak.
Örnek (M Sütunu için) Terfi Tarihi : 17/12/2012
Yıl kısmı 8 yılı tamamladığı,  Ay kısmı da Aralık 14 Ocak 15 arasında olduğu için öğretmenimize terfi vereceğimizden form sayfasına aktarıyoruz.

Berduş abi 2 yıl ile 8 yıl kısmı boyumu aşıyor. Birde personel işinde yeni olduğum için "affınıza sığınarak" olayı bayağı karıştırdım bunun için özür dilerim abimden. Eğer son anlattığım şekilde yardımcı olabilirseniz beni büyük bir yükten kurtarmış olursunuz
Cevapla
#10
Sayın @malatyalı sizin işlerinizle ilgili herhangi bir bilgiye sahip değilim o nedenle anlamam
anlamadığım şeyde de yardım edemem
ama son söylediklerinizden anladığım kadarıyla seçilecek aralık terfi çeşidine göre olacak
eğer yıllık ise aralık olarak 11,5 ay ile 12,5 ay arasını (son terfisi üzerinden yaklaşık 1 yıl geçmişleri)
eğer 2 yıllık ise aralık olarak 23,5 ay ile 24,5 ay arasını (son terfisi üzerinden yaklaşık 2 yıl geçmişleri)
eğer 8 yıllık ise aralık olarak 95,5 ay ile 96,5 ay arasını (son terfisi üzerinden yaklaşık 8 yıl geçmişleri) alnacak öyle mi?
Cevapla
#11
Aynen öyle abim benim
Cevapla
#12
ozaman J,M ve P sütunlarına ayırmaya gerek yok bence hepsi bir sütunda olabilir.
mevcut duruma göre "Terfi Aktar" butonunun kodunu aşağıdaki kodla değiştirir misiniz?
yada isterseniz yeni bir düğme ekleyip ona yazın
Dim rngAlan, rngKopyala As Range
Dim SonHcr As Long
Dim KriterStn, AyByt, AsilByt As Byte
Dim BasTrh, BitTrh, AsilTrh As Date
AyByt = Format(CDate("1." & Range("D3") & "." & Range("D2")), "m")
AsilTrh = DateSerial(Range("D2"), AyByt, 15)

If Range("D4") = "Normal Terfi" Then
KriterStn = 9
AsilByt = 1
ElseIf Range("D4") = "2 Yıla 1 Terfi" Then
KriterStn = 12
AsilByt = 2
ElseIf Range("D4") = "8 Yıla 1 Terfi" Then
KriterStn = 15
AsilByt = 8
End If

BitTrh = DateAdd("m", -AsilByt * 12, AsilTrh)
BasTrh = DateAdd("m", -1, BitTrh) - 1

SonHcr = Sheets("VERİ").Cells(Rows.Count, 2).End(xlUp).Row

Set rngAlan = Sheets("VERİ").Range("B2:P" & SonHcr)
'Set rngKopyala = Sheets("VERİ").Range("B3Lol" & SonHcr & ",F3:G" & SonHcr)
'Normal Terfi 2 Yıla 1 Terfi 8 Yıla 1 Terfi
' 9 12 15
' 1 2 8
rngAlan.AutoFilter
rngAlan.AutoFilter field:=KriterStn, _
Criteria1:=">=" & CLng(BasTrh), _
Operator:=xlAnd, _
Criteria2:="<=" & CLng(BitTrh)
Set rngKopyala = Sheets("VERİ").Range("B3Lol" & SonHcr & ",F3:G" & SonHcr)

If Sheets("Form").Cells(Rows.Count, 2).End(xlUp).Row > 7 Then _
Sheets("Form").Range("B8:S" & Sheets("Form").Cells(Rows.Count, 2).End(xlUp).Row).Clear
On Error Resume Next

rngKopyala.SpecialCells(xlCellTypeVisible).Copy _
Destination:=Sheets("Form").Range("B8")

rngAlan.AutoFilter
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task