bkk
Altın Üye
- Katılım
- 30 Aralık 2019
- Mesajlar
- 186
- Excel Vers. ve Dili
- Ofis 2019
- Altın Üyelik Bitiş Tarihi
- 06-12-2025
Merhabalar,
Aşağıda bulunan fonksiyonu ekte bulunan Excel sayfamdaki veriler üzerinde kullanarak F sütununda sonuç almak istiyorum yardımcı olabilir misiniz,Teşekkürler
Function Hesapla(ByVal baslangicP As Double, ByVal bitisP As Double) As Double
Dim baslangic As Date
baslangic = CDate(baslangicP) 'Başlangıç saati datetime formatına dönüştürülüyor
Dim bitis As Date
bitis = CDate(bitisP) 'Bitiş saati datetime formatına dönüştürülüyor
Dim molaBaslangic As Date
molaBaslangic = CDate("12:00") ' Mola başlangıç saati
Dim molaBitis As Date
molaBitis = CDate("13:00") 'Mola bitiş saati
Dim kullanilanIzinDakika As Double
kullanilanIzinDakika = 0
Dim kullanilanIzinSaati As Double
kullanilanIzinSaati = 0
Dim anlikDeger As Date
anlikDeger = baslangic 'anlık değere başlagıç değeri atılıyor
While (anlikDeger <= bitis)
If anlikDeger < molaBaslangic Or anlikDeger > molaBitis Then 'anlık değer mola başlangıcından küçükse veya molada bitişinden büyükse kullanılan izin dakika değerine 1 eklenir
kullanilanIzinDakika = kullanilanIzinDakika + 1
End If
anlikDeger = DateAdd("n", 1, anlikDeger) 'anlikDeger.AddMinutes(1) ' anlık değer 1 dakika arttırılır
Wend 'anlık değer başlangıç değerine küçük eşitse döngü çalışır
kullanilanIzinSaati = Math.Round(kullanilanIzinDakika / 60, 2) ' kullanılan izin dakika değerini saate çevirmek için 60 a bölüp Math.Round fonksiyonu ile virgülden sonra 2 hane olsun diyoruz
Hesapla = kullanilanIzinSaati ' bulduğumuz saat değeri fonksiyon sonucudur
End Function
Aşağıda bulunan fonksiyonu ekte bulunan Excel sayfamdaki veriler üzerinde kullanarak F sütununda sonuç almak istiyorum yardımcı olabilir misiniz,Teşekkürler
Function Hesapla(ByVal baslangicP As Double, ByVal bitisP As Double) As Double
Dim baslangic As Date
baslangic = CDate(baslangicP) 'Başlangıç saati datetime formatına dönüştürülüyor
Dim bitis As Date
bitis = CDate(bitisP) 'Bitiş saati datetime formatına dönüştürülüyor
Dim molaBaslangic As Date
molaBaslangic = CDate("12:00") ' Mola başlangıç saati
Dim molaBitis As Date
molaBitis = CDate("13:00") 'Mola bitiş saati
Dim kullanilanIzinDakika As Double
kullanilanIzinDakika = 0
Dim kullanilanIzinSaati As Double
kullanilanIzinSaati = 0
Dim anlikDeger As Date
anlikDeger = baslangic 'anlık değere başlagıç değeri atılıyor
While (anlikDeger <= bitis)
If anlikDeger < molaBaslangic Or anlikDeger > molaBitis Then 'anlık değer mola başlangıcından küçükse veya molada bitişinden büyükse kullanılan izin dakika değerine 1 eklenir
kullanilanIzinDakika = kullanilanIzinDakika + 1
End If
anlikDeger = DateAdd("n", 1, anlikDeger) 'anlikDeger.AddMinutes(1) ' anlık değer 1 dakika arttırılır
Wend 'anlık değer başlangıç değerine küçük eşitse döngü çalışır
kullanilanIzinSaati = Math.Round(kullanilanIzinDakika / 60, 2) ' kullanılan izin dakika değerini saate çevirmek için 60 a bölüp Math.Round fonksiyonu ile virgülden sonra 2 hane olsun diyoruz
Hesapla = kullanilanIzinSaati ' bulduğumuz saat değeri fonksiyon sonucudur
End Function
Ekli dosyalar
-
15.9 KB Görüntüleme: 5