• DİKKAT

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

Labelde günü geçen kayıt sayısı gösterme?

Katılım
19 Haziran 2007
Mesajlar
418
Excel Vers. ve Dili
excel 2007
Merhaba arkadaşlar.
Sayfamın "U" sütununda 01.01.2012 formatında tarih kayıtlarım var.
Bu kayıtlarda bugün olanların ve günü geçenlerin sayısını gösterebilir miyiz?
 
Merhaba,

Basit mantıkla sayabilirsiniz.

Küçükler için,

Label1.Caption = Evaluate("=COUNTIF(U:U,""<""&TODAY())")

Aynı gün için,

Label1.Caption = Evaluate("=COUNTIF(U:U,TODAY())")
 
Her iki kodlamayı nasıl tek labelde gösterebilirim?
Alt alta yazsam olmaz sanırım. :)
 
Ömer Bey, initialize olayına ekledim rakam "0" çıkıyor.
Ayrıca buraya bir text ekleyebilir miyiz?
Günü geçen ..... adet randevu var! gibi
 
Metinleri siz değiştirirsiniz.

Kod:
Private Sub UserForm_Initialize()
 
    Label1.Caption = "Günü Geçen " & Evaluate("=COUNTIF(U:U,""<""&TODAY())") & " Sayısı"
    Label2.Caption = "Bugün " & Evaluate("=COUNTIF(U:U,TODAY())") & " Sayısı"
    
End Sub

Eğer sonuç 0 çıkıyorsa uygun veriniz yoktur. Tarihleri kontrol edin.
 
Teşekkür ederim.
Ancak sayfayla alakalı mı bilemiyorum? Hala sonuç "0" çıkıyor.
Veriyi alacağı sayfa adı "satış" veri aralığı U2:U sonsuza kadar :)
 
Tarihler metin formatında değilse sonuç alırsınız.

U2:U.. Kodlara dikkat ederseniz U:U ile tüm sütunu seçtim.

Sayfa üzerinde;

=eğersay(u:u;bugün())

formülü ile de deneyebilirsiniz. Eğer sonuç sıfır çıkıyorsa. Örneğin U2 hücresine tekrar 27/05 yazın ve çıkın, sonuçun 1 olduğunu görebilirsiniz.
 
Ömer Bey çok zahmetli oldum kusura bakmayınız.
BEn dediklerinizi yaptım zaten. Hücrelerin tarih formatında biçimlendirmesine kadar tamam.
U2 dememin sebebi bilemediğimiz bir şey mi var diye izah etmek açısından söyledim.
BEn dosyamı ekte sunuyorum. Siz de bir kontrol etseniz olur mu?
 

Ekli dosyalar

U sütununda bir çok veri tarih gibi gözüksede metin formatnda kalmış.

Örnek U12 ve U14 hücrelerine F2 enter yapın ve formu yine çalıştırın farkı görebilirsiniz.

U sütununa veri kaydı yapan kod satırını buraya yazarsanız kodlarınızı düzeltip verebilirim.
 
U sütununa bu kodlarla kayıt yapıyorum.
Ama dosyamda eklediğim bir tarih userformu var. Bu kodlarda gerekir mi bilemiyorum?
Ben yinede o kodları da ekleyeyim

Kaydet kodlarım:
Kod:
Private Sub CommandButton1_Click()
If CDate(TextBox1) <> Date Then
    MsgBox "LÜTFEN TARİHİ KONTROL EDİNİZ! YAPTIĞINIZ İŞLEM GÜNLÜK KAYITLAR İÇİNDİR. BUGÜNÜN TARİHİNİ GİRİNİZ!", vbExclamation, "T A R İ H"
    Exit Sub
End If

If CDate(TextBox1) <> Date Then
MsgBox "Tarih Bugüne Ait Değil"
Exit Sub
End If

If TextBox3.Text = Empty Then
MsgBox "Lütfen Alıcı Adı ve Soyadı Giriniz.", vbExclamation, "": Exit Sub
End If   ' BOŞ BIRAKILMASINI İSTEMEDİĞİNİZ YERLER İÇİN...

If TextBox4.Text = Empty Then
MsgBox "Alıcı Adres Bilgilerini Kontrol ediniz!", vbExclamation, "": Exit Sub
End If   ' BOŞ BIRAKILMASINI İSTEMEDİĞİNİZ YERLER İÇİN...


With Sheets("satış")
satır = .Range("A65536").End(3).Row + 1 ' a sütunundaki son dolu satırı bulup bir sonraki satıra aşağıdaki işlemi yapar
.Cells(satır, 1) = CDate(TextBox1.Value) 'birinci sütuna Textbox1 tarih formatında yazılır
.Cells(satır, 2) = TextBox2.Value ' ikinci sutuna textbox2 yazar
.Cells(satır, 3) = TextBox3.Value
.Cells(satır, 4) = TextBox4.Value
.Cells(satır, 5) = ComboBox1.Value
.Cells(satır, 6) = ComboBox2.Value
.Cells(satır, 7) = TextBox5.Value
.Cells(satır, 8) = TextBox6.Value
.Cells(satır, 9) = TextBox7.Value
.Cells(satır, 10) = ComboBox3.Value
.Cells(satır, 11) = ComboBox4.Value
.Cells(satır, 12) = TextBox8.Value
.Cells(satır, 13) = ComboBox5.Value
.Cells(satır, 14) = ComboBox6.Value
.Cells(satır, 15) = ComboBox7.Value
.Cells(satır, 16) = ComboBox8.Value
.Cells(satır, 17) = ComboBox9.Value
.Cells(satır, 18) = ComboBox10.Value
.Cells(satır, 19) = ComboBox11.Value
.Cells(satır, 20) = TextBox9.Value
.Cells(satır, 21) = TextBox10.Value

For i = 2 To 10
Controls("Textbox" & i).Value = ""
Next
ListBox1.RowSource = "A1:U" & [a65536].End(3).Row
'liste kutusunun satır kaynagının hangi hücreler olduğu belirtiliyor.

    For e = 0 To ListBox1.ListCount - 1
    t1 = CDbl(Val(ListBox1.List(e, 8))) + CDbl(Val(t1))
    Next e
    TextBox19.Text = FormatNumber(t1, 2) & " TL"


End With
deger1 = 0
MsgBox "KAYIT İŞLEMİ TAMAMLANDI", , ""
End Sub

Takvim kodlarım:
Kod:
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Private Type POINTAPI
        x As Long
        y As Long
End Type
Private Sub UserForm_Initialize()

Dim lngCurPos As POINTAPI
    GetCursorPos lngCurPos

Takvim.Top = lngCurPos.y * 0.75
Takvim.Left = lngCurPos.x * 0.75
    
ReDim Preserve gunler(43)
ReDim Preserve scrl_bar(2)
For i = 1 To 42
Set gunler(i).gunler = Me.Controls("Label" & i)
Next
Set gunler(43).gunler = Me.bugün

For j = 1 To 2
Set scrl_bar(j).scrl_bar = Me.Controls("ScrollBar" & j)
Next

ScrollBar1 = 0
ScrollBar1.Max = bitis_yılı - baslangıc_yılı


ScrollBar2.Min = 1
ScrollBar2.Max = 12 ' 1 yıldaki ay sayısıdır
ScrollBar2 = 1
Me.bugün = Format(Now, "dd.mm.yyyy")
End Sub

Class tarih kodlarım:
Kod:
Public WithEvents gunler As MSForms.Label
Public WithEvents scrl_bar As MSForms.ScrollBar
Public WithEvents takvim_txt As MSForms.TextBox
Private Sub gunler_Click()
On Error Resume Next

If gunler = "" Then Exit Sub

If gunler.Name = "bugün" Then
aktif_txt.Text = Format(Now, "dd.mm.yyyy")
ElseIf gunler <> "" Then
aktif_txt.Text = DateSerial(Takvim.ScrollBar1 + baslangıc_yılı, Takvim.ScrollBar2, gunler)
End If

Unload Takvim

End Sub
Private Sub scrl_bar_Change()
    i = 0
    For i = 1 To 42
        Takvim.Controls("Label" & i) = ""
        Takvim.Controls("Label" & i).BackColor = &H80000013 '&H8000000F 'vbCyan
        Takvim.Controls("Label" & i).MousePointer = fmMousePointerCustom
    Next

yıl = Takvim.ScrollBar1 + baslangıc_yılı
ay = Takvim.ScrollBar2

Tarih = CDate("01." & ay & "." & yıl)
gün = DateSerial(Year(Tarih), Month(Tarih) + 1, 0)

ilk = Application.Weekday(CDate(Tarih), 2)

For x = 1 To Format(gün, "dd")
Takvim.Controls("Label" & x + ilk - 1) = x
Next

    i = 0
    For i = 1 To 42
        If Takvim.Controls("Label" & i) = "" Then
        Takvim.Controls("Label" & i).BackColor = &H808080
        Takvim.Controls("Label" & i).MousePointer = fmMousePointerDefault
        End If
    Next
    
If Year(Now) = Takvim.ScrollBar1 + baslangıc_yılı Then
    If Month(Now) = Takvim.ScrollBar2 Then
        For a = 1 To 42
            If Takvim.Controls("Label" & a) = CDbl(Day(Now)) Then
            Takvim.Controls("Label" & a).BackColor = &HFF&
            Takvim.Controls("Label" & a).MousePointer = fmMousePointerCustom
            End If
        Next
    End If
End If

Takvim.TextBox1 = yıl
Takvim.TextBox2 = Format(Tarih, "mmmm")

End Sub
Private Sub takvim_txt_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal y As Single)
Set aktif_txt = takvim_txt

If takvim_txt = "" Then
Takvim.ScrollBar1 = Year(Now) - baslangıc_yılı
Takvim.ScrollBar2 = Month(Now)
Else
Takvim.ScrollBar1 = Year(CDate(takvim_txt)) - baslangıc_yılı
Takvim.ScrollBar2 = Month(CDate(takvim_txt))
End If
    
Takvim.Show

End Sub
 
Uzun uzun inceleyek vaktim olmadığı için tüm kodları değil sadece U sütununa kayıt kodunu rica etmiştim.

.Cells(satır, 21) = CDate(TextBox10.Value)

İlgili satıra kırmızı ilaveyi yaparsınız.

.
 
Ömer Bey dediğiniz gibi, userformdan kayıt yaptığımda değil sanırım.
Hücreye el yordamıyla girdiğim tarihleri okuyor, userformdan girdiklerimi okumuyor? :(
 
Dediğiniz eklemeyi yaptım. Olmadı.
Userformdan kaydettikten sonra excelde hücreye giderek çift tıklayarak imlecin hücreye girmesini sağladım.
Daha sonra sola yaslı olan tarih sağa kaydı. Sonra userformumu açtığımda ancak okudu?
Sanırım tarih formunun kodlarında da sorun olabilir? :(
 
Eski tarih olan verileri düzettiniz mi? Çünkü kodlar yeni kayıtlarada gerekli düzenlemeyi yapar.

Verdiğim kodu sizin dosayanızda denedim. Tarihi sorunsuz aktardı.
 
Merhaba Ömer Bey.
Teşekkür ederim. Sayenizde bu sorunumu çözdüm.
Düzelt butonumda da buna benzer bir sorun vardı. Örneğinize bakarak

Cells(sonsat, 21) = TextBox10.Value
şeklinde olan satırı
Cells(sonsat, 21) = CDate(TextBox10.Value) şeklinde düzelttim. O sorun da ortadan kalktı.
Allah razı olsun.

Bir sorum daha olacak. Excel sayfasına dışarıdan kopyala yapıştır şeklinde aldığım veriler bu hataya neden oluyorlar.
İlgili sütunu seçip, F2 tuşuna baılı tutuyorum. Sonra Enter tuşuna basarak aşağıya doğru iniyorum. Ama değişen bir şey olmuyor.
Keza, hücrelerimde tarih formatında özelleştirilmiş. Bu sorunu nasıl aşabilirim. Ya da uygulamam doğru mu?

Ek bir sorunum daha çıktı. Mesajımı bu sebeple düzeltiyorum. İkinci bir userform çalıştırıyorum. Buradaki kayıtlarım içinde bu uygulamayı ekledim.
Lakin İlk userformumdaki verileri alıyor? Ne yapmam gerek?
 
Son düzenleme:
Geri
Üst