• DİKKAT

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

Takvim Nesnesi İle Bilgi Çağırma

Katılım
22 Şubat 2007
Mesajlar
250
Excel Vers. ve Dili
excel xp
Ekte gönderdiğim çalışmamda;
Programa giriş düğmesi/Açılan Formda Tabela Giriş düğmesi ile ulaşılan form ile bilgi girişi yapıyorum. bu forma girdiğim bilgiler tabela sayfasına yazılıyor ve kaydet dediğimde liste sayfasına kaydediliyor.
Benim yapmak istediğim;
Takvim nesnesi ile herhangi bir tarih seçtiğimde liste sayfasında o tarihe ait bilgi girişi varsa o bilgilerin forma ve tabela sayfasına geri çağırılması.
Bu konuda yardımcı olursanız sevinirim.
 

Ekli dosyalar

Yukarıda ikinci paragrafta istediğim şey takvim ile değil, bir buton ile takvime bağlı olarak çalışsa da olur.
 
Merhaba,

Kayıt yapan butonuna yazdığımız kodun bir benzerini kayıt çağırmak için kullanabilirsiniz.

Kod:
Private Sub Calendar1_DblClick()
    Dim S1 As Worksheet, X As Integer
    Dim Y As Integer, Tarih As Range
    Dim Bul As Range, Veri_Say As Integer, Say As Byte
    
    For X = 0 To Controls.Count - 1
        If TypeName(Controls(X)) = "TextBox" Or TypeName(Controls(X)) = "ComboBox" Then
            Controls(X).Value = ""
        End If
    Next
    
    Set S1 = Sheets("liste")
    Set Tarih = S1.Rows("1:1").Find(Calendar1.Value)
    If Not Tarih Is Nothing Then
        Y = Tarih.Column
        
        Veri_Say = WorksheetFunction.CountIf(S1.Range(S1.Cells(2, Y), S1.Cells(300, Y)), "<>")
        
        If Veri_Say > 0 Then
        
            For X = 2 To 300
                If S1.Cells(X, 2) <> "" And S1.Cells(X, Y) <> "" Then
                    Say = Say + 1
                    Me.Controls("ComboBox" & Say) = S1.Cells(X, 2)
                    Me.Controls("TextBox" & Say) = S1.Cells(X, Y)
                End If
            Next
            
            'DİKKAT!"liste" sekmesindeki 301-326. satırların kaymaması gerekiyor.
            NO = S1.Cells(301, Y)
            MUDUR = S1.Cells(302, Y)
            MUDYARD = S1.Cells(303, Y)
            NOBTC = S1.Cells(304, Y)
            MEMUR = S1.Cells(305, Y)
            ASCI = S1.Cells(306, Y)
            SYTL = S1.Cells(307, Y)
            AYTL = S1.Cells(308, Y)
            SOM = S1.Cells(309, Y)
            AOM = S1.Cells(310, Y)
            SHZM = S1.Cells(311, Y)
            AHZM = S1.Cells(312, Y)
            SPARA = S1.Cells(313, Y)
            APARA = S1.Cells(314, Y)
            SK1 = S1.Cells(315, Y)
            SK2 = S1.Cells(316, Y)
            SK3 = S1.Cells(317, Y)
            SK4 = S1.Cells(318, Y)
            OY1 = S1.Cells(319, Y)
            OY2 = S1.Cells(320, Y)
            OY3 = S1.Cells(321, Y)
            AY1 = S1.Cells(322, Y)
            AY2 = S1.Cells(323, Y)
            AY3 = S1.Cells(324, Y)
            AO1 = S1.Cells(325, Y)
            AO2 = S1.Cells(326, Y)
        Else
            MsgBox Calendar1.Value & " tarihine ait veri kaydı bulunamadı !", vbCritical
        End If
    Else
        MsgBox Calendar1.Value & " tarihi bulunamadı !", vbCritical
    End If
 
    Set S1 = Nothing
    Set Tarih = Nothing
    Set Bul = Nothing
End Sub
 
Merhaba,

Kayıt yapan butonuna yazdığımız kodun bir benzerini kayıt çağırmak için kullanabilirsiniz.

Cevabınızla gönderdiğiniz kodları çalışmama uyguladım. Galiba bir yerlerde eksiklik var. Şöyle ki:
Takvimden tarihi değiştirdiğimizde malzeme adı ve miktarı kısmı o tarihe ait bilgi girişi olmadığı halde silinmiyor. Ancak farklı bilgi girişi varsa değişiyor.
Kodlarda bilgi girişi bulunamadı uyarısı vardı. Bilgi girişi olmayan tarihe geldiğimizde bu uyarı da çalışmıyor.

Dosyayı ekte gönderiyorum.
 

Ekli dosyalar

Son düzenleme:
Merhaba,

Üstteki mesajımdaki kodu güncelledim. Denermisiniz.
 
Malzeme adı ve miktarı kısmına liste sayfasındaki bilgiler geliyor ancak listede 5. sırada yer alan malzeme 5. combobox'a 19. sırada yer alan malzeme 19. sıradaki combobox'a geliyor. Userformda 25 tane combobox var. Comboboxlarla seçilen 26 ve sonraki sıralarada yer alan malzemeler geri çağırma işlemi ile gelmiyor. Hata veriyor.
 
Merhaba,

Üstteki mesajımdaki kodu yeniden güncelledim. Denermisiniz.
 
Sevgili Korhan Ayhan;
Excel kadar harikasınız. Çok teşekkür ederim. Sağolun, var olun.
Hani kadı kızında bulunacak cinsten küçük bir sorun kaldı. "liste" sayfasında tarihlerin altında malzemelere ait miktarları kayıt yaptığımızda buradaki değerler metin olarak kaydediliyor. "liste" sayfasını açıp hücreleri seçip sayıya dönüştür demem gerekiyor. Bunu kayıt yaparken sayı olarak nasıl kaydedebiliriz?
 
Merhaba,

Eğer kayıt edeceğiniz değerler tamsayı ise;

Kod:
Range("A1") = Val(TextBox1)

Eğer kayıt edeceğiniz değerler ondalıklı ise;

Kod:
Range("A1") = Cdbl(TextBox1)

Kodları ile kayıt yapabilirsiniz.
 
Merhaba,

Eğer kayıt edeceğiniz değerler tamsayı ise;

Kod:
Range("A1") = Val(TextBox1)

Eğer kayıt edeceğiniz değerler ondalıklı ise;

Kod:
Range("A1") = Cdbl(TextBox1)

Kodları ile kayıt yapabilirsiniz.

İlgili textboxların kodları şöyle:
Kod:
Private Sub TextBox1_Change()
Sheets("tabela").Range("C23").Offset = TextBox1.Text
End Sub
Sizin verdiğiniz kodları nereye yazacağız?
 
Merhaba,

Siz hiç gayret göstermiyorsunuz. Hep kodları hazır istiyorsunuz. Bu şekilde öğrenmeniz mümkün değil.

Kod:
Private Sub TextBox1_Change()
Sheets("tabela").Range("C23").Offset = [COLOR=red]Cdbl([/COLOR]TextBox1.Text[COLOR=red])
[/COLOR]End Sub
 
Bu forumdan çok şey öğrendim. Ancak dosyam o kadar çok kod doldu ki, yapabileceğim bir hata ile bir çok şeyi bozabilirim diye endişeleniyorum.
Her şey için tekrar teşekkür ediyorum. Siz ve yardımları olan herkes; haklarınızı helal ediniz.
 
Merhaba,

Eğer orjinal dosyanızı bozmak gibi bir endişeniz varsa hemen kopyasını oluşturun ve üzerinde deneme yaptıktan sonra olumlu sonuç aldığınız kodları aktarın. Bu şekilde orjinal dosyanıza zarar vermeyeceğiniz gibi, öğrenme yolunda adım atmış olursunuz.
 
11. numaralı mesajınızda yazdığınız cevap ile sorun çözülmedi.
 
Herhangi bir tarihe ait girilen verilerin tamamının silinip yeniden giriş yapılması istenildiği takdirde takvim nesnesinde belirtilen tarihe ait sütundaki önce uyarı vererek silecek bir koda ihtiyacım var. Daha önce Korhan Ayhan Bey'in vermiş olduğu kodları uyarlamaya çalıştım ama beceremedim.
 
Geri
Üst