• DİKKAT

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

AMBAR PROGRAMI-Birlikte Tamamlayalım

Arkadaslar uzun sure cevap gelmedigine gore sanirim sorum hatali. En azindan bu dedigimi yapabilmek icin nasil bir yol izlemem gerektigi konusunda fikir verirseniz sorumu ve formu degistirebilirim.
 
Merhaba,

"tabldot" sayfasındaki sarı renkli bölümlere veriler toplanarakmı aktarılacak?
Birde "AYLIK YEMEK LİSTESİNİ GÖR" butonuna bastığınızda sayfayımı açmak istiyorsunuz?
 
Merhaba,

Neyse ben anladığım haliyle kodları ekliyorum. Siz deneyin. Olmayan yeri varsa düzeltiriz.

"TabldotForm" isimli formunuzdaki eski kodları silin ve aşağıdaki kodları uygulayın. Kodlarını tümünü seçtiğinizden emin olun.

Kod:
Dim Sütun As Byte
 
Private Sub cmdAnamenu_Click()
    TabldotForm.Hide
    AnaForm.Show
End Sub
 
Private Sub CommandButton1_Click()
    Dim X As Byte, Say As Byte, Satır As Byte, Y As Integer
    
    For X = 1 To 5
        If Me.Controls("OptionButton" & X) = False Then
        Say = Say + 1
        End If
    Next
    If Say = 5 Then
        MsgBox "Lütfen ay seçimi yapınız !"
        Exit Sub
    End If
    
    Satır = 3
    
    Application.ScreenUpdating = False
    
    With Sheets("tabldot")
        .Range("A3:G33").ClearContents
                
        For X = Sütun To Sütun + 30
            If Satır > 3 And Month(Sheets("liste").Cells(1, Sütun - 1)) <> Month(Sheets("liste").Cells(1, Sütun)) Then
                GoTo Devam
            Else
                .Cells(Satır, 1) = Sheets("liste").Cells(1, Sütun)
                .Cells(Satır, 2) = Sheets("liste").Cells(332, Sütun)
                .Cells(Satır, 3) = Sheets("liste").Cells(327, Sütun)
                
                For Y = 315 To 318
                    If .Cells(Satır, 4) = "" Then
                        .Cells(Satır, 4) = Sheets("liste").Cells(Y, Sütun)
                    Else
                        .Cells(Satır, 4) = .Cells(Satır, 4) & "+" & Sheets("liste").Cells(Y, Sütun)
                    End If
                Next
                
                For Y = 319 To 321
                    If .Cells(Satır, 5) = "" Then
                        .Cells(Satır, 5) = Sheets("liste").Cells(Y, Sütun)
                    Else
                        .Cells(Satır, 5) = .Cells(Satır, 5) & "+" & Sheets("liste").Cells(Y, Sütun)
                    End If
                Next
                
                For Y = 322 To 324
                    If .Cells(Satır, 6) = "" Then
                        .Cells(Satır, 6) = Sheets("liste").Cells(Y, Sütun)
                    Else
                        .Cells(Satır, 6) = .Cells(Satır, 6) & "+" & Sheets("liste").Cells(Y, Sütun)
                    End If
                Next
                
                For Y = 325 To 326
                    If .Cells(Satır, 7) = "" Then
                        .Cells(Satır, 7) = Sheets("liste").Cells(Y, Sütun)
                    Else
                        .Cells(Satır, 7) = .Cells(Satır, 7) & "+" & Sheets("liste").Cells(Y, Sütun)
                    End If
                Next
                
                Satır = Satır + 1
                Sütun = Sütun + 1
            End If
        Next
Devam:
        .Select
    End With
        
    If OptionButton1 = True Then Sütun = 8
    If OptionButton2 = True Then Sütun = 38
    If OptionButton3 = True Then Sütun = 69
    If OptionButton4 = True Then Sütun = 99
    If OptionButton5 = True Then Sütun = 130
    Application.ScreenUpdating = True
    
    MsgBox "Aylık yemek listesi hazırlanmıştır.", vbInformation
End Sub
 
Private Sub OptionButton1_Click()
    Sütun = 8
End Sub
 
Private Sub OptionButton2_Click()
    Sütun = 38
End Sub
 
Private Sub OptionButton3_Click()
    Sütun = 69
End Sub
 
Private Sub OptionButton4_Click()
    Sütun = 99
End Sub
 
Private Sub OptionButton5_Click()
    Sütun = 130
End Sub
 
Merhaba,

Liste sayfanızda ilk satırda seçmiş olduğunuz aya ait tüm hücrelerde tarih varmı onu kontol edin.
 
Bu durumda önerdiğim kodun ilk satırındaki tanımlamayı sanırım yanlş uyguladınız.

"Dim Sütun As Byte" bu satır tüm kodların en üst satırında bulunması gerekiyor. Onu kontrol edin.
 
Evet, ilk satır kopyalanmamış. Onu düzelttim. Ancak sarı renge boyadığım kısımlara 315-326 satırlara girilen yemek adlarının gelmesi gerekirken sayılar geliyor. O sayıların da nereden geldiğini anlayamadım.
 
#23 nolu mesajımdaki kodu güncelledim. Denermisiniz.
 
Allah razı olsun. Haklarınızı helal ediniz.
Bu konuda 1 sorum daha olacak. Her ay için bilgi alacağı sütunları belirtmiştim. 30 eylül yazan yere 1 ekim yazdım. Eylüle ait liste oluşturulurken o günü almadı. Bu kodlar tarihimi göz önüne alıyor, verdiğim sütun aralıklarını mı?
 
Sütun aralıklarına göre hareket ediyor.
 
İhsan Bey bir soruma cevap verdi ve liste sayfasında h1 hücresinden itibaren otomatik tarih doldurma makrosu gönderdi. Şimdi o makro ile tarihleri doldurunca aylar değişince tabii aralıklar değişecek. İhsan Bey ve sizin gönderdiğiniz kodları uyumlu çalıştırmam gerekiyor. Biraz kafa yormalıyım. Sizlerden yarın yine yardım isteyebilirim.
 
Merhaba,

"tabldot" sayfasındaki sarı renkli bölümlere veriler toplanarakmı aktarılacak?
Birde "AYLIK YEMEK LİSTESİNİ GÖR" butonuna bastığınızda sayfayımı açmak istiyorsunuz?

"AYLIK YEMEK LİSTESİNİ GÖR" butonuna basınca form sayfasını gizlemeli, yemek listesi sayfasını (tabldot) önizlemesini göstermeli, ön izlemeyi kapatınca yazdırılıp yazdırılmayacağını sormalı, sonrasında form sayfasını tekrar açmalı.
 
Merhaba Korhan Ayhan Bey;
İhsan Bey'in göndermiş olduğu bir kod ile otomatik tarih girişi yapabildiğimden bahsetmiştim. Bu durumda benim sizden istemiş olduğum optionbuttonlar ile belirli aralıklara göre aylık yemek listesi oluşturma hatalı oluyor. Şöyle bir çözüm bulsak:
Option buttonları kaldırıp iki textbox oluşturalım. 1.textboxa aylık yemek listesinin alınacağı ilk tarih, 2.textboxa aylık yemek listesinin alınacağı son tarih yazılsın. (01/01/2011-31/01/2011 gibi) Aylık yemek listemiz sütunlara göre değil de bu tarihlere göre oluşsa sorun çözülmüş olur.
 
Merhaba,

Ekteki örnek dosyayı incelermisiniz.
 

Ekli dosyalar

Aylık yemek listesini hazırla dedikten sonra tabldot sayfası seçile hale geliyor. Aylık yemek listesi hazırlanmıştır uyarısına tamam dedikten sonra baskı önizleme görünüyor. Buraya kadar tamam. Baskı önizlemeyi kapattıktan sonra ilgili form aktif hale geliyor ve arkasında tabldot sayfası görünüyor. Bu arkadaki sayfanın "ana" sayfa olmasını nasıl sağlayabiliriz?
 
Merhaba,

Üstteki mesajımdaki dosyayı güncelledim. İncelermisiniz.
 
Programın son halini gönderiyorum. Şu anda program kullanılabilir durumda. Programın hazırlanmasında Sayın Korhan Ayhan, Sayın İhsan Tank, Sayın orion1, Sayın Mustafa Mutlu ve diğer arkadaşların büyük emeği vardır. Hepsine can-ı gönülden teşekkürlerimi sunuyorum.

Programa son olarak "Dönem Değiştir" butonu ekledim. Butona basılınca açılan formda sil butonu var. Sil butonuna basıldığında "liste" sayfasından B2:E300, H1:FD326 aralıklarındaki veriler silinecek. Tabii silemeden önce "Bu işlem geri alınamaz. Emin misiniz?/Son kararınız mı?" şeklinde üst üste 2 uyarı verecek, şifre soracak ve işlemi gerçekleştirecek. İşlem gerçekleşince sil ve ana menü butonları gizlenecek ve ileri butonu görünecek. İleri butonuna basılınca Sabit Bilgiler formu (PersonelForm) açılacak. Silme işlemi hariç buraya kadar yapmaya çalıştım ama tekrar "Dönem Değiştir" düğmesine bastığımda Sil butonu gizlenmiş halde kalıyor.
Bu son hatamızda düzeltildiğinde forumda örnek uygulamalar kısmında programı paylaşmayı ve ülke çapında bütün yatılı okullara programı e-posta yoluyla göndermeyi düşünüyorum.
Eğer benim gözümden kaçan eksiklik veya ilave edilmesi halinde programa işlevsellik katacak düşünceleriniz olursa görüşlerinizi de bekliyorum.
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Dosyanızda gerekli düzeltmeyi yaptım. İncelermisiniz.
 

Ekli dosyalar

Geri
Üst