3er hücre kaydırmak suretiyle döngü olurmu

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli Dostlar Merhabalar,
Listeyle ilgili şöyle bir sorunum var. A sütununda 1 ayın tarihleri (Değişken aylar) yazılı. İstiyorumki A5 teki tarihten itibaren A5 ten A5 e, A5 ten A6 ya, A5 ten A7 ye, A5 ten A8 e vs. .......ayın son gününe Pazartesi günlerini arasın.
Aranan aralıkta Pazartesi hiç yoksa (C4,D4,E4)
Aranan aralıkta Pazartesi 1 adet ise(D4,E4,C4)
Aranan aralıkta Pazartesi 2 adet ise(E4,C4,D4)
Aranan aralıkta Pazartesi 3 adet ise(C4,D4,E4)
Aranan aralıkta Pazartesi 4 adet ise(D4,E4,C4)
Aranan aralıkta Pazartesi 5 adet ise(E4,C4,D4)
şeklinde aranan aralığın (C,D,E,) hücrelerine işlesin.

(C,D,E) sütunlarındaki işlem bitince bir sonraki 3 sütunda (F,G,H)
Salı günü için
Aranan aralıkta Salı hiç yoksa (F4,G4,H4)
Aranan aralıkta Salı 1 adet ise(G4,H4,F4)
Aranan aralıkta Salı 2 adet ise(H4,F4,G4)
Aranan aralıkta Salı 3 adet ise(F4,G4,H4)
Aranan aralıkta Salı 4 adet ise(G4,H4,F4)
Aranan aralıkta Salı 5 adet ise(H4,F4,G4)
şeklinde aranan aralığın (F,G,,H,) hücrelerine işlesin.

Çarşamba,Perşembe,Cuma,Cumartesi.
Pazar gününe gelen hücreler boş kalacak.

Değerli dostlar daha önce de benzer başlıklar açmıştım. Ancak sanıyorum ben sorularımı sorarken biraz karmaşık hale getiriyorum. Hatamız olursa affola...
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub GÜN_KONTROL()
    [C5:H35] = ""
    For X = 5 To [A65536].End(3).Row
    ADRES = Range(Cells(5, 1), Cells(X, 1)).Address
    SAY_PAZARTESİ = Evaluate("=SUMPRODUCT(--(WEEKDAY(" & ADRES & ",2)=1))")
    SAY_SALI = Evaluate("=SUMPRODUCT(--(WEEKDAY(" & ADRES & ",2)=2))")
    If Weekday(Cells(X, 1), 2) = 1 Then
    If SAY_PAZARTESİ = 0 Then
    Cells(X, 3) = [C4]
    Cells(X, 4) = [D4]
    Cells(X, 5) = [E4]
    ElseIf SAY_PAZARTESİ = 1 Then
    Cells(X, 3) = [D4]
    Cells(X, 4) = [E4]
    Cells(X, 5) = [C4]
    ElseIf SAY_PAZARTESİ = 2 Then
    Cells(X, 3) = [E4]
    Cells(X, 4) = [C4]
    Cells(X, 5) = [D4]
    ElseIf SAY_PAZARTESİ = 3 Then
    Cells(X, 3) = [C4]
    Cells(X, 4) = [D4]
    Cells(X, 5) = [E4]
    ElseIf SAY_PAZARTESİ = 4 Then
    Cells(X, 3) = [D4]
    Cells(X, 4) = [E4]
    Cells(X, 5) = [C4]
    ElseIf SAY_PAZARTESİ = 5 Then
    Cells(X, 3) = [E4]
    Cells(X, 4) = [C4]
    Cells(X, 5) = [D4]
    End If
    End If
    If Weekday(Cells(X, 1), 2) = 2 Then
    If SAY_SALI = 0 Then
    Cells(X, 6) = [F4]
    Cells(X, 7) = [G4]
    Cells(X, 8) = [H4]
    ElseIf SAY_SALI = 1 Then
    Cells(X, 6) = [G4]
    Cells(X, 7) = [H4]
    Cells(X, 8) = [F4]
    ElseIf SAY_SALI = 2 Then
    Cells(X, 6) = [H4]
    Cells(X, 7) = [F4]
    Cells(X, 8) = [G4]
    ElseIf SAY_SALI = 3 Then
    Cells(X, 6) = [F4]
    Cells(X, 7) = [G4]
    Cells(X, 8) = [H4]
    ElseIf SAY_SALI = 4 Then
    Cells(X, 6) = [G4]
    Cells(X, 7) = [H4]
    Cells(X, 8) = [F4]
    ElseIf SAY_SALI = 5 Then
    Cells(X, 6) = [H4]
    Cells(X, 7) = [F4]
    Cells(X, 8) = [G4]
    End If
    End If
    Next
End Sub
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Merhabalar Sn.Cost Control,
Verdiğiniz cevap için çok teşekkür ederim. Emeğinize sağlık. Ancak şöyle bir sorun var: Yazdığınız kodları çalıştırdığımda boş bırakılması gereken hücrelere veri yazıyor, veri yazılması gereken hücreleri boş bırakıyor. İşleyiş güzel ama bu ters işlemeyi düzeltebilirseniz güzel olur.
Birde kodun
If Weekday(Cells(X, 1), 2) = 1 Then
yazılı olan kısmı hata veriyor.
Ben ekteki dosyada Şubat ayına göre sizin kodlarınızın oluşturduğu sonuç ile olması gereken sonucu kıyaslayabilesiniz diye yan yana yazdım.
İlgilenirseniz çok memnun olurum.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sorunuzda bu şekilde belirttiğiniz için döngüyüde o mantıkla kurdum. Benmi yanlışmı anladım acaba ?

...
Çarşamba,Perşembe,Cuma,Cumartesi.
Pazar gününe gelen hücreler boş kalacak.
...
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sn. Cost Control kusura bakmayın ben yanlış aktarmışım. Sonradan anlattığım şekil düzeltebilirmiyiz.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Benim bu sizin belirttiğiniz kısmı şöyle demem gerekiyordu:
1.Durak için pazartesi,
2.Durak için Salı,
3.Durak için Çarşamba,
4.Durak için Perşembe,
5.Durak için Cuma,
6.Durak için Cumartesi,
ne gelen hücreler boş kalacak diye.
Bundan dolayı özür dilerim.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Selamlar Değerli Arkadaşlar,
Sn.Cost Control arkadaşımızın yazdığı kodları kendi işimi görecek şekilde değiştirdim. Ancak ekli dosyada açınca göreceksiniz, kodları çalıştırınca işlem yapıyor ve bir de hata veriyor. Bu hatayı düzeltebilecek arkadaşlardan yardım bekliyorum. Bir de kodlar bu şekliyle çok aşırı derecede uzun oldu. Daha listenin tamamını hazırlayınca manzume olacak. Bunu kısaltabilecek bir çare bulamazmıyız.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Ekteki örnek dosyayı incelermisiniz. Gerçi kodları kısaltamadım. Umarım bu haliyle faydası olur.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sn. Cost Control selamlar,sevgiler,saygılar.
Ancak bu kadar olabilir. Bu süper bir çalışma. Elinize, emeğinize, bilginize sağlık.
Bazen anlatım noksanlıklarından emeğinizi çalmış, israf etmiş oluyoruz. Hoşgörünüz helal ediniz olurmu? Biz de sizlere gecenin bu saatinden hayır dualarımızı göndeririz.
 
Son düzenleme:
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sn.Cost Control şubat için liste düzenlediğimde bir şey dikkatimi çekti. (71,72,73) yaka nolarını düzenlerken pazar günlerini sayması gerekiyor. Benim de sonradan dikkatimi çekti. (1,2,3) kısımlarında sorun yok.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Siz örnek dosya üzerinde nasıl olması gerektiğini açıklayın kodu ona göre düzenleyelim. İnanın kafam karıştı.

Sorularınızı ne kadar net sorarsanız o kadar net cevap alırsınız. Bu şekilde konu boş yere uzayıp gidiyor.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sayın Cost Control Selamlar,
Dosya şubat ayı listesine göre ektedir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

71-72-73 değerleri PAZAR gününe denk gelen satırlaramı yazılacak?
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Özür yanlışlıkla çift gönderdim
 
Son düzenleme:
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Hayırlı akşamlar,
Şu an mevcut oldukları satırlara yazılacaklar. Sadece 71,72,73 yaka nolu kişiler Pazartesi günü 1.Durakta çalışanların pazartesi izin yapacaklarından dolayı onların yerine çalışacak, yani şu an bulundukları satırda,
Salı günü 2.Durakta çalışanların salı izin yapacaklarından dolayı onların yerine çalışacak, yani şu an bulundukları satırda,
Çarşamba, Perşembe, Cuma, Cumartesi de Takibi olarak şu an bulundukları satıra yazılacaklar.
Pazar günü ise kendileri izin yapıp yeni pazartesi gününe gelince 72,73,71 olarak sıralaması değişerek yazılacak. Bu sıralamanın bilinebilmesi içinde ayın ilk gününden o zamana kaç pazar günü geçtiğinin bilinmesi gerekecek.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sayın Cost Control,
Ekteki dosyada bir resim var. Çizgi ile işaretlediğim hizadaki hücrelerin baştan sona birbirinin aynı olması gerekiyor. Burada tam haftanın ortasında vardiya değişmiş durumu oluşuyor.Halbuki aynı şekil devam etmesi gerekiyor.
Bir de formül ile oluşturduğum bir örnek dosya ekliyorum. Kanımca size benden daha hatasız olarak durumu özetler konu daha rahat anlaşılır diye düşünüyorum.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sayın Cost Control Selamlar,
Bu gün sabah erken sakin kafayla dosyayı istediğim şekle getirdim. Emeklerin ve gösterdiğin ihtimam için çok çok çok teşekkürlerimi iletirim. ALLAH razı olsun senden.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli Forum Mensupları selamlar,
Sayın Cost Control kardeşimizin yazdığı kodlarla bir kaç gündür hazırlamaya çalıştığım aylık listenin bitmiş halini ekte sunuyorum. Benzeri listeler yapmak isteyen arkadaşların işine yararsa kullansınlar diye. Bu forumun katkılarıyla hazırlandığı için.
 
Üst