• DİKKAT

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

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:
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
 
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.
 
Sn. Cost Control kusura bakmayın ben yanlış aktarmışım. Sonradan anlattığım şekil düzeltebilirmiyiz.
 
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.
 
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.
 
Selamlar,

Ekteki örnek dosyayı incelermisiniz. Gerçi kodları kısaltamadım. Umarım bu haliyle faydası olur.
 
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:
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.
 
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.
 
Sayın Cost Control Selamlar,
Dosya şubat ayı listesine göre ektedir.
 
Selamlar,

71-72-73 değerleri PAZAR gününe denk gelen satırlaramı yazılacak?
 
Özür yanlışlıkla çift gönderdim
 
Son düzenleme:
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.
 
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.
 
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.
 
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.
 
Geri
Üst