• DİKKAT

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

Pazar günleri ve tarihleri

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar;

J3 hücresine Ay isimini yazarak yazılan ay içinde ki Pazar günlerininin Tarihlerini otamatik olarak nasıl yazdırabilirim ?

örnek;

J3=Nisan

j4: 05.04.2015
j5: 12.04.2015
j6: 19.04.2015
j7: 26.04.2015

gibi..

yardımcı arkadaşa şimdiden Teşekkürler.
 
Merhaba.
Biraz uzun oldu ama ay adını metin olarak yazınca böyle oldu.
Combobox kullansaydınız daha kısa formül yazılabilirdi.

J4 hücresine;
Kod:
=TARİH(YIL(BUGÜN());KAÇINCI(J3;{"OCAK";"ŞUBAT";"MART";"NİSAN";"MAYIS";"HAZİRAN";"TEMMUZ";"AĞUSTOS";"EYLÜL";"EKİM";"KASIM";"ARALIK"};0);1)+8-KAÇINCI(HAFTANINGÜNÜ(TARİH(YIL(BUGÜN());KAÇINCI(J3;{"OCAK";"ŞUBAT";"MART";"NİSAN";"MAYIS";"HAZİRAN";"TEMMUZ";"AĞUSTOS";"EYLÜL";"EKİM";"KASIM";"ARALIK"};0);1));{1;2;3;4;5;6;7};0)
J5 hücresine
Kod:
=EĞER(J4="";"";EĞER(AY(J4)=AY(J4+7);J4+7;""))
J5'e yazılan formülü aşağı doğru J8'e kadar hücreye kopyalayın.
 
İstediğiniz tarihin gün değerini döndürmek için METNEÇEVİR(A1;"gggg") formülünü kullanabilirsiniz. Eğer bu yeterli olmaz makro ile yardımcı olabilirim.
 
Ay adını Combobox'tan seçip (hücre bağlantısını J3 olarak belirleyerek) J4 hücresine yazılacak formül;
Kod:
=TARİH(YIL(BUGÜN());J3;1)+8-KAÇINCI(HAFTANINGÜNÜ(TARİH(YIL(BUGÜN());J3;1));{1;2;3;4;5;6;7};0)
şeklinde olurdu.
Not: Her iki cevabımda da yıl bilgisi olarak YIL(BUGÜN()) işlevi kullanılmıştır.
 
omer.baran

Hocam teşekkürler. Yalnız macro ile çözmek durumundayım..
 
İstediğiniz tarihin gün değerini döndürmek için METNEÇEVİR(A1;"gggg") formülünü kullanabilirsiniz. Eğer bu yeterli olmaz makro ile yardımcı olabilirim.


Hocam "metneçevir" değil burdaki durum. ay içindeki diğer günler atılacak. bazı aylarda 4 pazar bazılarında 5 pazar var. Ben ay ismini yazdığımda; otomatik olarak pazar tarihlerini yazdırmak istiyorum. macro ile.
 
Merhaba,
Sayfanın kod bölümüne aşağıdaki kodu uygulayınız.
Ay isimlerini koddaki gibi yazmanız gerekli, ya da kodu yazacağınız şekilde değiştiriniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$3" Then
    x = 4
    aylar = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
    ay = WorksheetFunction.Match(Target.Text, aylar, 0)
    For tarih = DateSerial(Year(Date), ay, 1) To DateSerial(Year(Date), ay + 1, 1) - 1
        If Weekday(DateValue(tarih), vbMonday) = 7 Then
            Cells(x, "J") = DateValue(tarih)
            x = x + 1
        End If
    Next
End If
End Sub
 
Merhaba.
Biraz uzun oldu ama ay adını metin olarak yazınca böyle oldu.
Combobox kullansaydınız daha kısa formül yazılabilirdi.

J4 hücresine;
Kod:
=TARİH(YIL(BUGÜN());KAÇINCI(J3;{"OCAK";"ŞUBAT";"MART";"NİSAN";"MAYIS";"HAZİRAN";"TEMMUZ";"AĞUSTOS";"EYLÜL";"EKİM";"KASIM";"ARALIK"};0);1)+8-KAÇINCI(HAFTANINGÜNÜ(TARİH(YIL(BUGÜN());KAÇINCI(J3;{"OCAK";"ŞUBAT";"MART";"NİSAN";"MAYIS";"HAZİRAN";"TEMMUZ";"AĞUSTOS";"EYLÜL";"EKİM";"KASIM";"ARALIK"};0);1));{1;2;3;4;5;6;7};0)
J5 hücresine
Kod:
=EĞER(J4="";"";EĞER(AY(J4)=AY(J4+7);J4+7;""))
J5'e yazılan formülü aşağı doğru J8'e kadar hücreye kopyalayın.

sayın ömer abicim FIFO STOK YÖNETİMİYLE İLGİLİ TABLO VARMI SENDE
 
mucit77

hocam çok teşekkürler, Tamamdır.. elinize sağlık.
 
ÖmerBey

Hocam bu kodda , Ayın Günlerini yazacak şekilde nasıl değiştiririz ?

bi kaç deneme yaptım olmadı..
 
Merhaba Sayın k0081,
Buyurunuz...
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$3" Then
    x = 4
    aylar = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
    ay = WorksheetFunction.Match(Target.Text, aylar, 0)
    For tarih = DateSerial(Year(Date), ay, 1) To DateSerial(Year(Date), ay + 1, 1) - 1
        'If Weekday(DateValue(tarih), vbMonday) = 7 Then
            Cells(x, "J") = DateValue(tarih)
            x = x + 1
        'End If
    Next
End If
End Sub
 
Merhaba Sayın k0081,
Buyurunuz...
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$3" Then
    x = 4
    aylar = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
    ay = WorksheetFunction.Match(Target.Text, aylar, 0)
    For tarih = DateSerial(Year(Date), ay, 1) To DateSerial(Year(Date), ay + 1, 1) - 1
        'If Weekday(DateValue(tarih), vbMonday) = 7 Then
            Cells(x, "J") = DateValue(tarih)
            x = x + 1
        'End If
    Next
End If
End Sub

Hocam tamamdır , Teşekkür ederim . End if kapatmayı unutmuşum ...
 
Geri
Üst