• DİKKAT

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

Vba ile Saat Hesaplaması

Katılım
29 Nisan 2010
Mesajlar
133
Excel Vers. ve Dili
EXCEL 2010 - TÜRKÇE
Arkadaşlar ekli dosyada açıkladığım kodlara ihtiyacım var, yardımcı olursanız sevinirim.
 

Ekli dosyalar

Arkadaşlar, biliyorum konu biraz (en azından benim için) karışık, yapmak istediğimi biraz daha basitleştirirsek;
İki ayrı hücrede 08:50 ve 10:15 şeklinde verilerim var, birer saatlik dilimlere ayrılmış olan 24 satırlık tabloda, ben bunları;
.
.
.
07:00 - 07:59 dilimine 0 dakika
08:00 - 08:59 dilimine 10 dakika
09:00 - 09:59 dilimine 60 dakika
10:00 - 10:59 dilimine 15 dakika
11:00 - 11:59 dilimine 0 dakika
.
.
.
olacak şekilde, Vba ile ayırmak istiyorum.
Bu konuda yardımcı olabilirseniz sevinirim. Şimdiden Teşekkürler.
 
Son düzenleme:
Gönderdiğim dosyada 3 periyodlu planlama olmasına karşın, #2 numaralı mesajımdaki (tek periyodlu) çözümü bulabilirsek, sorun çözülecektir. Bu konuda ben de çalışıyorum ama;
Çözümü burada bulacağımdan eminim...
 
Son düzenleme:
Çözüm yok mu arkadaşlar?
En azından çözüme ulaşabilmem için alternatif öneriler bekliyorum.
 
Merhaba,
Arkadaşlar'dan kastım;
Moderatör, Uzman, Altın Üye ve diğer tüm üyeler'dir.
Olumlu ya da olumsuz, en azından beni yönlendirebileceğiniz bir mesaj almayı bekliyorum...
Hatalı olduğunu farkettiğimden -hepinizden özür dileyerek- dosya güncellenmiştir.
Hepinize Kolay Gelsin...
 

Ekli dosyalar

Son düzenleme:
Vba şart değil, fonksiyonel çözümler (ve bu konudaki öneriler) de kabulümdür...
 
gerek iş hayatında gerek özel hayatta gerekse forumlarda temel sorunlarımızdan bir tanesi karşımızdaki kişinin bizimle aynı bilgiye, aynı fikre sahip olduğunu sanmaktır. bu olunca, ilişkilerde gereksiz gerginlikler yaşar, sorunlarımızda sağlıklı bir çözüm üretemeyiz.



biraz zaman ayırarak ihtiyacı net bir şekilde tarif edin. "yandaki gibi bir tablo hazırlamak istiyorum" aydınlatıcı bir tanımlama değil.

sizin kafanızdaki bilgilere sahip değiliz. "önce anlayın sonra bana çözüm bulun" derseniz, burada da olduğu gibi, sorunuza cevap alma ihtimaliniz azalır.



ayrıca tasarım her şeyden önce gelir. dosyadaki tablo tasarımı böyle midir. eğer böyle ise mutlaka değişmesi gerekir. şahsen ben zaman ayırıp öyle bir tablo üzerinde çalışmak istemem.

veriler bir sayfada sonuçlar başka bir sayfada olabilir. daha sonra bir rapora girecekse orada birleştirilebilirler.

birleştirilmiş hücrelerden olabildiğince uzak durmak lazım.


detaylı olarak ne yapılmak istendiğini anlatırsanız yapabileceğim bir şey olup olmadığına bakarım. belki bu arada başka bir üye de çözüm üretebilir. ama bu hali ile bu mesajı yazmak için ayırdığım 10 dakikadan fazla zaman ayırmam mümkün değil.

iyi forumlar...
 
Sayın mancubus;
İlginize teşekkür ediyorum. Mesajlarımın bir kısmında sitemkar bir uslup kullandığımı farkettim, bunun için tüm arkadaşlardan özür dilerim.
Benim bu Forum'da yapmaya çalıştığım şey, üzerinde amatörce çalıştığım bir projenin takıldığım yerinde yardım alabilmektir. Yoksa burada projenin tamamını yaplındırmak değildir. Bu nedenle eklediğim dosyada ne yapmaya çalıştığımı yeterince anlatabildiğimi düşünüyorum. Ama eleştirileriniz doğrultusunda tekrar gözden geçireceğim.
Bu siteye üye olurken, üyelerin zamanını buradaki çözümler için kullanacağını hiç bir zaman düşünmedim ve mesajınızın ilk paragrafındaki düşüncelere aynen katılıyorum. Üye olmaktaki tek amacım 'Bilginin paylaştıkca çoğalacağına' inan biri olmamdır.
Zaman ayırdığınız için teşekür ederim.
Kusura bakmayın ama bende sizi tek bir konuda eleştirmek istiyorum, lütfen şu güzel Türkçe'mizi, yazım kuralları ile yüceltelim diyorum. Ben bu konuda bilgiliyim diyemem ama en azından, bir cümlenin büyük harfle başlayıp, nokta ile bittiğini biliyorum.

Kolay gelsin...


Dip not : Bu mesajı okumak için zamanınızın 10 dakikasından fazlasını harcamamanız için çalıştım, umarım bu konuda başarılı olmuşumdur...
 
Son düzenleme:
Ömer Bey,
Teşekkür ederim sanırım çözüme yaklaştık sayenizde. Tek sorun, duruş bitiş saatlerini ayarlamak.
Birinci duruş planına göre(00:30-09:40), 09:00-10:00 saat diliminde 40 dakika'lık bir duruş görünmesi gerekirken 20 dakika olarak görünüyor. Tekrar teşşekkür ederim, bu sorunu çözmeye çalışıyorum...
 
Formülde düzeltme yapınız.

G9 daki formülün son kısmındaki;
METNEÇEVİR(C9-$C$3;"[dd]")&" dakika";""))) bölümünü,
METNEÇEVİR($C$3-B9;"[dd]")&" dakika";""))) şeklinde,

H9 daki formülün son kısmındaki;
METNEÇEVİR(C9-$C$4;"[dd]")&" dakika";""))) bölümünü,
METNEÇEVİR($C$4-B9;"[dd]")&" dakika";""))) şeklinde,

I9 daki formülün son kısmındaki;
METNEÇEVİR(C9-$C$5;"[dd]")&" dakika";""))) bölümünü,
METNEÇEVİR($C$5-B9;"[dd]")&" dakika";""))) şeklinde

değiştirip formülleri aşağı doğru çoğaltınız.
 
Rica ederim.
Bu arada; eğer durma zamanı olarak yazacağınız saatler birbiriyle çakışmayacaksa;

G9 hücresine aşağıdaki formülü yapıştırıp, aşağı doğru çoğaltırsanız, TÜM DURMALARI TEK SÜTUNDA görebilirsiniz.

=EĞER(VE($B$3>=B9;$B$3<C9);METNEÇEVİR(C9-$B$3;"[dd]")&" dakika";EĞER(VE($B$3<B9;$C$3>C9;SAAT($C$3-$B$3)>0);60&" dakika";EĞER(VE($B$3<B9;$C$3>B9;C9>$C$3);METNEÇEVİR($C$3-B9;"[dd]")&" dakika";"")))&EĞER(VE($B$4>=B9;$B$4<C9);METNEÇEVİR(C9-$B$4;"[dd]")&" dakika";EĞER(VE($B$4<B9;$C$4>C9;SAAT($C$4-$B$4)>0);60&" dakika";EĞER(VE($B$4<B9;$C$4>B9;C9>$C$4);METNEÇEVİR($C$4-B9;"[dd]")&" dakika";"")))&EĞER(VE($B$5>=B9;$B$5<C9);METNEÇEVİR(C9-$B$5;"[dd]")&" dakika";EĞER(VE($B$5<B9;$C$5>C9;SAAT($C$5-$B$5)>0);60&" dakika";EĞER(VE($B$5<B9;$C$5>B9;C9>$C$5);METNEÇEVİR($C$5-B9;"[dd]")&" dakika";"")))
 
Ömer Bey,
Tekrar merhaba, biraz karmaşık bir işe kalkıştığımın farkındayım. Planlamaların çakışma ihtimali olabilir, onun için üç ayrı sütunda değerlendirmek bence daha mantıklı. Başka bir sorun daha var şimdi onu çözmeye çalışıyorum.
Duruşlarıın bitimi saat başına denk geldiğinde 01:10-03:00 gibi,
01:00-02:00 saat dilimine 50 dakika
02:00-03:00 saat dilimine 60 dakika yazması
gerekirken,
01:00-02:00 saat dilimine 50 dakika yazıyor
02:00-03:00 saat dilimine değer atamıyor.
 
Düzeltme

G1 hücresine aşağıdaki formülü uygulayınız.

=EĞER(VE($B$3>=B9;$B$3<C9);METNEÇEVİR(C9-$B$3;"[dd]")&" dakika";EĞER(VE($B$3<B9;$C$3>=C9;SAAT($C$3-$B$3)>0);60&" dakika";EĞER(VE($B$3<B9;$C$3>B9;C9>$C$3);METNEÇEVİR($C$3-B9;"[dd]")&" dakika";"")))

H1 ve I1 hücreleri için atıf yapılan duraklama saati satır numaralarını değiştirmeyi unutmayınız.

Formülleri aşağı doğru çoğaltınız.
 
Ömer bey, katkılarınızla sorun çözüldü, teşekkürler, kolay gelsin...
 
Süleyman Bey,
İlginize çok teşekkür ediyorum.
Bu çalışmam da (henüz bitmedi) kodlarınızın çok işime yarayacağını düşünüyorum.
Tekrar haberleşmek dileğiyle, esen kalın...
 
Arkadaşlar;
Bu konuyla ilgili mesajların, beni konu dışında bir tespiti paylaşmaya yönlendirdiği için hepinizden özür diliyorum.
Bazen, bilmediğimiz veya anlayamadığımız bir konu hakkında -illa bir görüş paylaşmak ihtiyacı hissediyorsak- "Bu konu hakkında bir fikrim (bilgim) yok" demek bile, büyük bir erdemdir...
Çözüm için emek veren tüm arkadaşlarıma (forum'daşlarıma) tekrar teşekkür ediyorum.
Esen kalın...
 
Geri
Üst