Teslimat Tarihi Hesaplama

Katılım
16 Mart 2018
Mesajlar
30
Excel Vers. ve Dili
excel 2010
İyi günler. Sipariş hazırlama üzerine bir userform oluşturdum. Siparişi ne zaman oluşturuyorsam, tarihi otomatik olarak TextBox a geliyor. Sipariş ettiğim ürün için belirlediğim süreye göre (5 gün, 1 ay vb süreleri comboboxtan seçiyorum) sevk tarihini de otomatik olarak başka bir TextBoxa yazdırmak istiyorum. Fakat uygun formülasyonu oluşturamadım. Yardımcı olursanız sevinirim.
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,659
Excel Vers. ve Dili
excel2016
Altın Üyelik Bitiş Tarihi
12-10-2026
Örnek dosya eklermisiniz.
 
Katılım
16 Mart 2018
Mesajlar
30
Excel Vers. ve Dili
excel 2010
Yardım

Tam istediğim gibi çalışıyor, teşekkür ederim elinize sağlık.
Şimdi bunu ana dosyaya uyarlayacağım fakat bir sorum daha olacak.
Bunu üretim yapan bir işletme için düşünürsek hesaplamayı 7 gün üzerinden değil de iş günleri üzerinden ( mesela Pazar günlerini devredışı bırakarak) yapmak mümkün müdür acaba?
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.

Sayın yanginci34'ün, 4 numaralı cevaba eklediği belgedeki kod üzerinden cevap vereyim.

Mevcut kod'u aşağıdakiyle değiştirdiğinizde istenilen sonuç elde edilebilir.
.
Kod:
[B][COLOR="blue"]Private Sub TextBox6_Change()[/COLOR][/B]
If Len(TextBox6) > 0 Then
    [B][COLOR="Red"]pazaradet[/COLOR][/B] = Evaluate("=ROUNDDOWN((" & Val(TextBox6) & _
                " +WEEKDAY(" & CLng(CDate(TextBox5)) & _
                ",1)-1)/7,0)+IF(WEEKDAY(" & CLng(CDate(TextBox5)) & ",1)=1,1,0)")
    TextBox7 = Format(CLng(CDate(TextBox5)) + Val(TextBox6) + [B][COLOR="red"]pazaradet[/COLOR][/B], "dd/mm/yyyy")
 End If
[B][COLOR="Blue"]End Sub[/COLOR][/B]
 
Katılım
16 Mart 2018
Mesajlar
30
Excel Vers. ve Dili
excel 2010
Cevabınız için teşekkür ederim. Fakat asıl dosyada kullandığımda istedğim sonucu vermiyor. Daha doğrusu neye göre hesaplama yaptığını da çözemedim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba.

Eklediğiniz örnek belgede herhangi bir formül, kod vs olmayınca mecburen
Sayın yanginci34'ün, 4 numaralı cevaba eklediği örnek belge üzerinden cevap verdim.
Gerçek belgenizi, kulandığınız userform kodlarını vs. bilemeyiz.

Sorularınızı, gerçek belgenin küçük boyutlu bir kopyası şeklinde hazırlayacağınız örnek belge üzerinden sorunuz.
KOPYASI dememizden maksat, kullanılan formüller, userformlar ve kodları görebilmek elbette.

Kod'un çalışma mantığını anlamanız için aynı işlemi (kod'daki pazaradet değişkeninin hesaplanması)
yapan bir formül vereyim ona göre gerekli kontrolleri ve denemeleri userformda değil sayfada yapmanız mümkün olur.

Formül iki tarih arasındaki PAZAR günü sayısını bulur.

A1 hücresine bir tarih, B1 hücresine süre (gün sayısı) yazın, aşağıdaki formülü de C1 hücresine uygulayın.

Örneğin A1'e 12.04.2018, B1'e de 15 yazdığınızda formül sonucu 2 olur.
Çünkü 12.04.2018 ile (12.04.2018 + 15=) 27.04.2018 tarihleri arasında 2 adet PAZAR günü var.
.
Kod:
=AŞAĞIYUVARLA((B1+HAFTANINGÜNÜ(A1;1)-1)/7;0)
 
Katılım
16 Mart 2018
Mesajlar
30
Excel Vers. ve Dili
excel 2010
Yardım

Cevabınız için teşekkürler. Şu an bilgisayarım yanımda olmadığı için örnek dosya atamıyorum. Ama dosya olmadan da anlatabilirim sanırım.
Yazdığınız kodda pazar günlerini sayıyor. Benim asıl yapmak istediğim pazar günlerini eleyerek bir tarih hesaplaması ve bunu userform üzerinde yapması.
Özetleyeyim: textbox1e bugünün tarihi, textbox2'ye gün sayısı ve textbox3'e de bitiş tarihi yazılacak.
Textbox1'e 30.04.2018 yazıyorum. Textbox2'ye de süreyi yazıyorum(örneğin 13 gün olsun). Normal şartlarda bitiş tarihi 13.05.2018 olarak hesaplanacaktı. Ama ben aradaki pazar günlerini atlayarak bitiş tarihini hesaplamak istiyorum. Yani textbox3'e 15.05.2018 yazması gerekiyor. İnşallah anlatabilmişimdir. Şimdiden teşekkürler.
 
Son düzenleme:

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Tekrar merhaba, denemeden cevap yazma gibi bir alışkanlığım pek yok.

Userform'daki TextBox6'ya ilişkin, Sayın yanginci34'ün, 4 numaralı cevaba eklediği örnek belgede mevcut kod'u silip,
onun yerine 6 numaralı cevapta verdiğim kod'u yapıştırın ve userformu açın.

Verdiğim kod zaten tam olarak istediğiniz işlemi yapıyor.

TextBox5'e 30.04.2018 ve TextBox6'ya 13 yazarsanız, TextBox7'de (30.04.2018+13+2=) 15.05.2018 tarihi görüntülenir.

Tabi kod TextBox6'ya ait bir kod.
Belki sadece TextBox7=..... satırını End If satırının altına almak düşünülebilir.
Tabi, tarih yazılan TextBox5'e ait kodların sorunsuz olduğunu varsayıyorum.
.
 
Katılım
16 Mart 2018
Mesajlar
30
Excel Vers. ve Dili
excel 2010
çözüldü

yardımınız için teşekkürler, sorunsuz çalışıyor.
 
Üst