Formülü makroya nasıl uyarlarız.

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli dostlar aşağıda yazmış olduğum formülü nasıl makroya dönüştürbiliriz.

=EĞER(HAFTANINGÜNÜ(A4)=2;(EĞER(Gunhesapla(A4;A4;1)=0;BC3;EĞER(Gunhesapla(A4;A4;1)=1;BD3;EĞER(Gunhesapla(A4;A4;1)=2;BE3;EĞER(Gunhesapla(A4;A4;1)=3;BC3;EĞER(Gunhesapla(A4;A4;1)=4;BD3;EĞER(Gunhesapla(A4;A4;1)=5;BE3;"")))))))
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
Bunun en kolay yolu; Araçlar/Makro/Yeni Makro Kaydet.. komutundan sonra verdiğin formülü birkez daha yazmaktır.
Böylece formülünüz makroya dönüşür.
Tabii ki başka yöntemlerde var.
Saygılar.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,
Sanırım bu formülde bir hata var çünkü

EĞER(Gunhesapla(A4;A4;1) =0

Sonuç her zaman aynı çıkar çünkü A4 ile A4 de bulunan tarihler arasındaki gün sayısını buluyorsunuz.Bu da her zaman 0 çıkar değil mi?

Ayrıca günHesapla diye bir fonksiyon oluşturmanızın özel bir nedeni yoksa neden şunu kullanmadınız?

Range("a9") - Range("a3")

Bu şekilde de iki tarih arasındaki gün sayısını bulabilirsiniz.

Bununla beraber yazmış olduğunu formülde de şu şekilde kullanabilirsiniz:

if Range("a9") - Range("a3") = 0 then cells(3,"c") = cells(2,"f") gibi
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sn. Bedersu şu sebepten: olay şu: Dosyaya bakarsanız durum daha rahat görülür. A sütununda tarih var Ayın bütün günleri olacak. Ggünhesapla kullanıcı tanımlı fonksiyon. A4 tüm tarihin seri değiştiği hücre dosyayı yeniden ekliyorum. Bu bilgiler ışığında değerlendir. 11,12 rakamlarını değiştirince hareket görünür.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli dostlar ben bu programın tamamını sizlere hazırlatmayı düşünmüyorum. Aslen amacım şu bir hücredeki formülü tek satırlık kod haline getirebilirsem, programın hazırlanışı çekeceğim emek açısından yük olmaktan çıksın istiyorum. Formül ile yapılırsa ne olur derseniz Bu programı daha oldukça genişletmem gerekiyor. Biraz ilerleyince çok yavaşlıyor. Hiç olmazsa makro olarak hazırlayabilirsem sadece çalıştırdığım zaman biraz geciksede dosya müzerinde çalışırke kasmaz diye düşündüm.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
kardeş kusura bakma.Seni ka'le almamak gibi bir niyet kimsede yoktur inan,sakın yanlış anlama.Ben senin problemine eğileceğim ama inan o kada yoğunum ki.Senin gibi iki üç arkadaş daha yardım bekliyor onlara bile bakamadım.Ama vicdanen rahasızım ,bu yüzden de sabahın körü tabir edilebilecek bri vakitte kalkıp yarım saatlik boşlıkta bakmaya çalışıyorum.Çok çok özür dilerim.İnşallah benim sizi bekletmeme fırsat vermeden bir babayiğit çıkar da sorunlarınızı halleder.İnşallah...

Senin yapmaya çalıştığın şey şu mu?

1) gunhesapla formülün,girilen iki tarih arasında kaç tane salı ya da kaç tane çarşamba olduğunu buluyor.Mesela gunhesapla(A3;A3;3) A3-A3 arasındaki çarşambaların sayısını buluyor çünkü başlangıç 2 yani Pazartesi seçilmiş.Doğru mu?

2) Ayın ilk günü salıysa formülün birinci kısmı değilse ikinci kısmı çalışıyor.Doğru mu?

3) 14-15-16-17-18-5-6-7 numaralı araçlar 2 durağa paylaşılıyor.5-6-7 numaralar sadece salı günü 1.durakta çarşamba günü 2.durakta çalışıyor.her hafta her arabanın çalıştığı durak değişiyor.Doğru mu?

4) 21.03.2007 herhalde 5-6-7 'nin tatil günü çünkü o tarihte 2.durakta çalışan araba yok :p

Bu sorular ışığında açıklama yaparsan işimizi kolaylaştırırsın.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sayın Bedersu ilginizden dolayı önce teşekkür ederim. Tesbitleriniz doğrudur. Program 6 durak üzerine kurulacak, herbirinin izin günü pazartesinden-Cumaretesine sıralı olacak. Pazar değiştirici kişilerin izin günü olacak.Ekleyeceğim kısımlarla yeşil renklenen hücreler her durak için bir gün tatil günü kayarak gider. Pazartesi, Salı, Çarşamba, Perşembe... diye. Her durakta 3 kişi çalışır tatil gününden sonra dönüşüm yaparlar. 5,6,7 ise sıradan Pazartesi iznli olanların yerine başlar, Cumartesi izinli olanların yerine kadar hergün izinlilerin yerine çalışırlar ve pazar günü izin yapıp onlar da vardiye dönüşümü yaparlar. Sn. Bedersu buradaki iki durağa dört durak daha ekleyip 1 gurubu oluşturduktan sonra böyle 6 şarlı guruplar oluşturacağım. Bir de bazı durklarda 2 kişi çalışıyor ikinci görünen durak örnek teşkil etsin diye o şekilde dosyaya ekledim. Zaten 2 kişi çalışan toplam 12 adet duraktan 2 tanesi. Birde şu var A3 hücresini bir sonraki aylarn 1.gününe alırsanız liste yeniden ayarlanıyor.
 
Son düzenleme:
Üst