• DİKKAT

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

Vba'da saati sayıya çevirme

Erdem Akdemir

Destek Ekibi
Destek Ekibi
Katılım
4 Mayıs 2007
Mesajlar
3,677
Excel Vers. ve Dili
2016 PRO TÜRKÇE-İNG. 64 BİT
Merhaba,

Aşağıdaki örnekte tarihi sayıya çevirebildim, ama saati bir türlü çeviremiyorum.Doğrusu nasıl olur, yardımcı olabilir misiniz.

Kod:
MsgBox CLng(CDate("15.11.2014"))

 a = Format(88 & ":00:00", "hh:mm:ss")

MsgBox CLng(a)
 
00:00:00 ile 23:59:59 arasındaki bir değeri TimeValue fonksiyonu ile Double değere dönüştürmek mümkün. 88 ile başlayan bir saat olmadığı için hata verir.

Kod:
MsgBox CDbl(TimeValue("23:59:59"))
 
Mancubus ustat cevap ıcın tesekkur ederım.Sayıyacevır fonksıyonı ile 88:00'ın sayısal degerını bulabılıyorum ama vba'da ıslemıyor zaten öyle bir fonksiyonda yok.Olması gerektiğini düsünüyorum.
 
rica ederim. tam olarak ihtiyaç nedir?
 
sayıyaçevir fonksiyonunun ingilizcesi VALUE fonksiyonudur. bunun VBA eşiti ise Val fonksiyonu. Ancak kullanırken dikkat etmek gerekir, . (nokta)'yı ondalık ayracı olarak kabul eder.

VBA sularında kulaç atacaksak en azından excel'in ingilizcesine hakim olmak fayda sağlar. çünkü dünyanın her yerinde VBA ingilizce.

Kod:
MsgBox Val("88:30:30")
88 rakamını döndürür.
 
sayıyaçevir fonksiyonunun ingilizcesi VALUE fonksiyonudur. bunun VBA eşiti ise Val fonksiyonu. Ancak kullanırken dikkat etmek gerekir, . (nokta)'yı ondalık ayracı olarak kabul eder.

VBA sularında kulaç atacaksak en azından excel'in ingilizcesine hakim olmak fayda sağlar. çünkü dünyanın her yerinde VBA ingilizce.

Kod:
MsgBox Val("88:30:30")
88 rakamını döndürür.

Üstat çıkan sonuç yanlış, sonucun 3,666666667 olması lazım.
 
Hocam selam,

Çözümü deneme yanılma yöntemiyle buldum

Kod:
MsgBox CDbl(VBA.TimeSerial(88, 0, 0))
 
Üstat çıkan sonuç yanlış, sonucun 3,666666667 olması lazım.

sonuç yanlış değil. Val fonksiyonu metinden rakamsal değeri çıkarırır.

TimeSerial derman oldu ise, soruyu ortaya koyma şekli farklı olmalıydı.

DateSerial ve TimeSerial fonksiyonları her formattaki tarih ve saat değerlerini tüm dünyada tek bir formatta ifade edebilmek için geliştirilmiş.

bu nedenle ben bu fonksiyonların üzerinde durmadan devam ettim.

sorun çözüldüğüne göre her şey yolunda. :)
 
Mancubus hocam iyi akşamlar,aslında yanlış demek istemedim, aradığım cevap değildi. Aradığım cevabı ise belli ettiğimi düşünüyorum. sayıyaçevir'in birebir karşılığını vba'da ben bulamadım, val fonksiyonu çok farklı.
 
Son düzenleme:
Geri
Üst