• DİKKAT

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

Hergüne sayfa aç

Katılım
22 Nisan 2010
Mesajlar
530
Excel Vers. ve Dili
Excel 2007 TR
Merhaba,
Aşağıdaki kodlar ile her güne ait (işgünü) sayfa açıyorum. Aysonu geldiğinde sayfa açılmamasını nasıl sağlayabilirim.

Not: Çalışma kitabı ilgili aya ait günlerden oluşmakta. Ay geçince yeni bir çalışma kitabı ile yeni günler oluşuyor. Geçmiş aya ait çalışma kitabını açtığımda yeni sayfa oluşmasını istemiyorum.

Sub Auto_Open()
Dim tarih As Date, i As Integer
tarih = isgunu(Date)
Sayfaadi = Format(tarih, "dd-mm-yyyy")
For i = 1 To Sheets.Count
If Sheets(i).Name = Sayfaadi Then Exit Sub
Next i
Sheets.Add.Name = Sayfaadi

End Sub



Function isgunu(tarih)
Dim x As Integer
Dim isbasi As Date
Dim tatil(1 To 12) As Date

isbasi = tarih - 1
devam:
If WorksheetFunction.Weekday(DateValue(isbasi), 2) = 6 _
Or WorksheetFunction.Weekday(DateValue(isbasi), 2) = 7 Then
isbasi = isbasi - 1
End If
For x = 1 To 12
If DateValue(isbasi) = tatil(x) Then
If WorksheetFunction.Weekday(DateValue(isbasi), 2) <> 6 _
Or WorksheetFunction.Weekday(DateValue(isbasi), 2) <> 7 Then
isbasi = isbasi - 1
End If
End If
Next x
If WorksheetFunction.Weekday(DateValue(isbasi), 2) = 6 _
Or WorksheetFunction.Weekday(DateValue(isbasi), 2) = 7 Then GoTo devam
isgunu = isbasi
End Function
 
Merhaba,
Çalışma kitabının hangi aya ait olduğunu belirten bir veri var mı? Kitabın adı olabilir, Sayfa isimleri tarihi de içeriyor olabilir veya sayfada herhangi bir hücrede hangi ayda olduğunu yazan bir bilgi olabilir? Kısaca Şubat ayının kitabıysa Şubat'a ait kitap olduğunu belirten bir veri lazım.
 
Sanırım çalışma sayfalarınız tarihi içeriyor. Aşağıdaki satırı AutoOpen kodunuzun uygun bir yerine eklerseniz sanırım sorun çözülecektir.
Kod:
If Month(Date) <> Month(Sheets(1).Name) Then Exit Sub
 
Merhaba,
Çalışma kitabının hangi aya ait olduğunu belirten bir veri var mı? Kitabın adı olabilir, Sayfa isimleri tarihi de içeriyor olabilir veya sayfada herhangi bir hücrede hangi ayda olduğunu yazan bir bilgi olabilir? Kısaca Şubat ayının kitabıysa Şubat'a ait kitap olduğunu belirten bir veri lazım.


Çalışma kitabının adı Kasim-11.xls

Bu çalışma kitabında en son 30-11-2011 tarihli sayfa açılmalı. Ben Bugün bu çalışma kitabını açtığımda bana yeni sayfa oluşturmamalı.
 
3 nolu mesajımın sorununuzu çözmesi lazım.
Yalnız kodunuzda dikkatimi çeken bir husus oldu, ya da ben de doğru çalışmıyor. 1 aralık tarihinde kodu çalıştırdığımızda 30 kasım tarihine göre sayfa oluşturuyor. Verdiğim kodun sağlıklı işlemesi için O kitapta aynı ayın tarihlerinin olması gerekli.
 
3 nolu mesajımın sorununuzu çözmesi lazım.
Yalnız kodunuzda dikkatimi çeken bir husus oldu, ya da ben de doğru çalışmıyor. 1 aralık tarihinde kodu çalıştırdığımızda 30 kasım tarihine göre sayfa oluşturuyor. Verdiğim kodun sağlıklı işlemesi için O kitapta aynı ayın tarihlerinin olması gerekli.

Test olarak kullandığım dosya ekte. Kodlar ilaveli. Ekim-11 adına ait çalışma kitabında 20-12-2011 tarihli sayfa açıyor. Hiç açmaması lazım.
 

Ekli dosyalar

Merhaba,

"Auto_Open" prosedürünü aşağıdaki gibi değiştirip denermisiniz.

Kod:
Sub Auto_Open()
    Dim tarih As Date, i As Integer
    If Format(Date, "mmmm") <> Split(ThisWorkbook.Name, "-")(0) Then Exit Sub
    tarih = isgunu(Date)
    Sayfaadi = Format(tarih, "dd-mm-yyyy")
    For i = 1 To Sheets.Count
    If Sheets(i).Name = Sayfaadi Then Exit Sub
    Next i
    Sheets.Add.Name = Sayfaadi
End Sub
 
Geri
Üst