Üretim planlama (Tatiller hariç)

Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Merhaba Arkadaşlar. Excel de üretim planlamasını yaparken şöyle birşey yaptırmak istiyorum.

Bir iş 3 gün sürüyor diyelim. Bu işe de perşembe saat 14.00 da başladık. Firma 24 saat çalışıyor fakat hafta sonları cumartesi saat 18.00 dan pazartesi sabah 08.30 a kadar tatil. Bu işin bitiş tarihini hesaplarken otomatik yapmasını ve bu belirttiğim tatil zamanlarını hesaba katmadan pazartesi sabah 08.30 dan hesaplamaya devam etmesini istiyorum.

Bunu nasıl yapabilirim?
 
Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Arkadaşlar bu konuda yardımcı olabilecek hiç kimse yokmu?
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,406
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
excel'de yapılmış bir çalışmanız varsa ekleyiniz. Mutlaka ilgilenen arkadaşlarımız olacaktır.
İyi çalışmalar.
 
Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Merhaba,
excel'de yapılmış bir çalışmanız varsa ekleyiniz. Mutlaka ilgilenen arkadaşlarımız olacaktır.
İyi çalışmalar.

Tam ne demek istediğini anlamadım ama ekte basit bir tablo yaptım.
 

Ekli dosyalar

Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Arkadaşlar bu konuda yardımlarınızı bekliyorum. Benim için çok önemli bi işlem.
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,406
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
ekteki dosyayı test eder misiniz?
İyi akşamlar.

Kod:
Sub saat_bul()
Dim sh As Worksheet
Set sh = Sheets("Sayfa1")
bas = sh.Range("a2")
saat = sh.Range("b2") * 48
bit = bas

For i = 1 To saat
bit = bit + CDate(Format("00:30", "hh:nn"))
    If Weekday(bit, vbMonday) = 6 And Format(bit, "hh:nn") >= "18:00" Then
    i = i - 1
    ElseIf Weekday(bit, vbMonday) = 7 And Format(bit, "hh:nn") >= "00:00" Then
    i = i - 1
    ElseIf Weekday(bit, vbMonday) = 1 And Format(bit, "hh:nn") < "08:30" Then
    i = i - 1
    End If
Next i
sh.Range("c2").NumberFormat = "dd/mm/yyyy hh:mm"
sh.Range("c2") = Format(bit, "dd/mm/yyyy hh:nn")
Set sh = Nothing
End Sub
 

Ekli dosyalar

Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Arkadaşım çok sağol çok teşekkür ederim benim istediğim şey bu. Fakat bir sorum olacaktı. Macrolardan anlamıyorum bu nedenle saçma bir soru olabilir. Macroyu çalıştırmak için düğme koymussun onun yerine işin üretim süresini her değiştirdiğimiz de otomatik değişmez mi? Ayrıca ben planlarken 2-3 aylık da planlayabilirim o zaman nasıl yapacağım. Ekte ki örneğe bakarmısın?

Umarım demek istediğimi anlamışssındır. Bir üretimi iptal ettiğimde o satırı silince diğerleri otomatik değişecek. Yada eklemek için araya satır ekle yapıp üretim süresini yazdığımda planlama değişecek. Aslında benim istediğim Hücrede bir formül gibi. Bitiş tarihinin yazdığı hücrede basit bir formül olduğunda nasılki altına üstüne kopyaladığın zaman o formül geçiyor o şekilde birşey olabilir mi? Seni uğraştırıyorum ama kusura bakma yardımcı olursan çok memnun olurum.
 

Ekli dosyalar

Son düzenleme:

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,406
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Günaydın,
kullanıcı tanımlı fonksiyon haline getirdim. Eki inceleyiniz. Mutlu bir gün dileğiyle..
 

Ekli dosyalar

Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Arkadaşım çok sağol çok teşekkür ederim süper olmuş tam istediğim şeydi. Şimdi tek sorunum işin bitiş tarihinde saat değişmiyor. Üretim süresinde 3,5 de yapsam 4 da yapsam tarih ve saat aynı. Onuda ayarlarsak süper olacak. Şimdiden çok teşekkür ederim.
 

Ekli dosyalar

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,406
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
önceki fonksiyonu silip yerine aşağıdakileri yapıştırarak deneyiniz. İyi çalışmalar.

Kod:
Function saat_bul(bas As Date, plan As Double)
On Error GoTo son
saat = plan * 48
bit = bas
For i = 1 To saat
bit = bit + CDate(Format("00:30", "hh:nn"))
    If Weekday(bit, vbMonday) = 6 And Format(bit, "hh:nn") >= "18:00" Then
    i = i - 1
    ElseIf Weekday(bit, vbMonday) = 7 And Format(bit, "hh:nn") >= "00:00" Then
    i = i - 1
    ElseIf Weekday(bit, vbMonday) = 1 And Format(bit, "hh:nn") < "08:30" Then
    i = i - 1
    End If
Next i
saat_bul = Format(bit, "dd/mm/yyyy hh:nn")
son:
End Function
 
Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Arkadaşım çok sağol, çok teşekkür ederim. Süper oldu. Yıllardır boşuna uğraşmısız :) Excel de macroları öğrenmek lazım. Son bir sorum olacaktı. Bu dosya .XLSM formatında yapmıssın. Ben bunu farklı kaydet deyip standart excel (.XLSX) formatında kaydedince çalışmıyor bunun sebebi nedir acaba? Bildiğim kadarıyla normal excel sayfasında da macro çalışması lazım.
 
Son düzenleme:

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,406
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Rica ederim,
iyi çalışmalar.
 

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,406
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
xlsx formatında makrolar çalışmaz. Office 2007'den sonra böyle bir uygulama var. Siz makroyu ekleyip xlsm formatını seçebilirsiniz.
 

Ekli dosyalar

Katılım
28 Temmuz 2011
Mesajlar
6
Excel Vers. ve Dili
microsoft office exel 2003
Türkçe
arkadaşlar bende süreli bir imalat takip planı hazırlamak istiyorum excelde ama nası yapacağımı bilmiyorum??????
 
Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Merhaba dentex daha önce üretim planlama hakkında bana çok yardımcı olmuştun. Benim bu planlama ile ilgili bir sıkıntım daha var, yardımcı olabilirsen çok memnun olurum. Biz işin durumuna göre çalışma saatlerini değiştiriyoruz. 3 çeşit çalışma sistemimiz var. Bu nedenle daha önce yaptığın makro da bazı değişiklikler yapabilir misin? Daha önce 24 saat kesintisiz çalıştığımızı hesap ederek makroyu oluşturmuştuk şimdi ise bazen Hafta içi sabah 08.30 dan gece 01.00 'a kadar (16,5 saat) - Cumartesi günü sabah 08.30 - 13.30 arası, bazen de Hafta içi sabah 08.30 dan gece 01.00 'a kadar (16,5 saat) - Cumartesi günü sabah 08.30 - 13.30 arası çalışıyoruz. Ben bu seçeneklerden birini nasıl seçip bitiş saatini bu seçeneklere göre hesaplattırabilirim?

(ekte dosya bulunmaktadır)
 

Ekli dosyalar

Son düzenleme:

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,406
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
ilgili olasılıklara ait birkaç örnek yapıp ekleyebilirseniz, doğruluğunu test ederek bir çalışma yapabiliriz. İyi geceler.
 
Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Merhaba,
ilgili olasılıklara ait birkaç örnek yapıp ekleyebilirseniz, doğruluğunu test ederek bir çalışma yapabiliriz. İyi geceler.
Merhaba dentex, ilgilendiğin için çok teşekkür ederim. ekte nasıl birşey olması gerektiğini yazdım. Şöyle birşey de olabilir, bir hücreye 1 yazarsak 1. seçenek makroda çalışabilir o hücreye 2 yazarsak 2. makro çalışabilir bu şekilde de olabilir. Hücrede yazan rakam nasıl çalışılacağını gösterebilir.
 

Ekli dosyalar

Katılım
10 Haziran 2011
Mesajlar
24
Excel Vers. ve Dili
Microsoft Office Professional Plus 2019 Türkçe
Merhaba,
ekteki dosyayı inceleyiniz. İyi geceler.
Merhaba dentex, çok güzel olmuş tam istediğim gibi tek sorun ben gönderdiğim örnekte zamanı hesaplarken yanlışlık yapmışım.bu nedenle makroda yanlış olmuş. üretim süresi kısmında kullanılan formül çalışma saatine göre farklı olacak. gerekli düzeltmeyi yaptım, buna göre makroyu düzenleyebilirmisin?
 

Ekli dosyalar

Son düzenleme:

Mehmet Şahin

Destek Ekibi
Destek Ekibi
Katılım
13 Ekim 2005
Mesajlar
1,406
Excel Vers. ve Dili
Excel 2010 - 2013 Türkçe - İngilizce
Merhaba,
sadece 2. çalışma tipini değiştirdim. Aşağıdaki fonksiyonu kullanın. İyi çalışmalar.

Kod:
Function saat_bul(bas As Date, plan As Double, vard As Byte)
On Error GoTo son
saat = plan * 48
bit = bas
If vard = 1 Then
GoTo 1
ElseIf vard = 2 Then
GoTo 2
Else
GoTo 3
End If
1:
For i = 1 To saat
bit = bit + CDate(Format("00:30", "hh:nn"))
    If Weekday(bit, vbMonday) = 6 And Format(bit, "hh:nn") >= "20:00" Then
    i = i - 1
    ElseIf Weekday(bit, vbMonday) = 7 And Format(bit, "hh:nn") >= "00:00" Then
    i = i - 1
    ElseIf Weekday(bit, vbMonday) = 1 And Format(bit, "hh:nn") < "08:30" Then
    i = i - 1
    End If
Next i
saat_bul = Format(bit, "dd/mm/yyyy hh:nn")
GoTo son
2:
For i = 1 To saat
bit = bit + CDate(Format("00:30", "hh:nn"))
    If Weekday(bit, vbMonday) = 6 Then 'cumartesi
        If Format(bit, "hh:nn") > "01:00" Then
[COLOR=Red][B]            If Format(bit, "hh:nn") < "08:30" Or Format(bit, "hh:nn") >= "13:30" Then[/B][/COLOR]
              i = i - 1
            End If
        End If
'    i = i - 1
    ElseIf Weekday(bit, vbMonday) = 7 Then  'pazar
    i = i - 1
    ElseIf Format(bit, "hh:nn") >= "01:00" Or Format(bit, "hh:nn") < "08:30" Then
    i = i - 1
    End If
Next i
saat_bul = Format(bit, "dd/mm/yyyy hh:nn")
GoTo son
3:
For i = 1 To saat
bit = bit + CDate(Format("00:30", "hh:nn"))
    If Weekday(bit, vbMonday) = 6 Then ' cumartesi
      If Format(bit, "hh:nn") < "08:30" Or Format(bit, "hh:nn") >= "13:30" Then
        i = i - 1
      End If
    ElseIf Weekday(bit, vbMonday) = 7 Then  'pazar
    i = i - 1
    ElseIf Format(bit, "hh:nn") < "08:30" Or Format(bit, "hh:nn") >= "18:30" Then
    i = i - 1
    End If
Next i
saat_bul = Format(bit, "dd/mm/yyyy hh:nn")
GoTo son
son:
End Function
 
Üst