AMBAR PROGRAMI-Birlikte Tamamlayalım

Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Yetişemedim. Kusura bakmayın. Kodlarınızı hemen deniyorum.
 

Korhan Ayhan

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

Liste sayfanızda ilk satırda seçmiş olduğunuz aya ait tüm hücrelerde tarih varmı onu kontol edin.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
#23 nolu mesajımdaki kodu güncelledim. Denermisiniz.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
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ı?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,137
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sütun aralıklarına göre hareket ediyor.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
İ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.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
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ı.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
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.
 

Korhan Ayhan

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

Ekteki örnek dosyayı incelermisiniz.
 

Ekli dosyalar

Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
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?
 

Korhan Ayhan

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

Üstteki mesajımdaki dosyayı güncelledim. İncelermisiniz.
 
Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
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:

Korhan Ayhan

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

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

Ekli dosyalar

Üst