• DİKKAT

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

Soru Günü almak

  • Konbuyu başlatan Konbuyu başlatan k0081
  • Başlangıç tarihi Başlangıç tarihi
Katılım
17 Haziran 2008
Mesajlar
1,874
Excel Vers. ve Dili
Microsoft Ofis Profesyonel 2019 x64 TR
Merhaba arkadaşlar

Textbox1 de 22.01.2023

şeklinde tarih yazıyor.

buradan günü , ayı ve yılı ayrı birer değişkene nasıl alabilirim ?

Dim gnn as date
Dim ayy as date
Dim yll as date

gnn = Format(Text1.Text, "dd")
ayy = Format(Text1.Text, "mm")
yll = Format(Text1.Text, "yyyy")


bu şekilde yaptım . fakat olmadı.


yardımcı arkadaşa şimdiden teşekkürler.
 
Değişkenlerini tarih olarak tanimladiniz, sayı değeri almak istiyorsunuz ona göre tanımlayın
Örnek Dim gg as long gibi
 
Tanımladım. Evet sayı olarak aldı. Ancak olmadı...

şöyleki :

bir fonksiyonum var ayın son gününü bulan.

Function AyinSonGunu(ByVal tarih As Date) As Byte
Dim SonGun As Byte
SonGun = DatePart("d", DateAdd("d", -1, DateAdd("m", 1, _
DateAdd("d", -DatePart("d", tarih) + 1, Date))))
AyinSonGunu = SonGun
End Function





Kullanımı :

tr1 = AyinSonGunu(gnn) & "." & Month(ayy) & "." & Year(yll)
SonGun = WeekdayName(Weekday(tr1, 0), False, 0)
MsgBox "Girilen tarihdeki ay " & AyinSonGunu(gnn) & _
" gün ve Son günü : " & SonGun, , "Tarih : " & Text1.Text


bu şekilde kullandığımızda doğru sonucu vermiyor .
 
Deneyiniz.

C++:
Option Explicit

Function MONTHLASTDAY(My_Date As Date)
    MONTHLASTDAY = WorksheetFunction.EoMonth(My_Date, 0)
End Function
 
@Korhan Ayhan

üstteki vermiş olduğum "Kullanım" koduna göre düzenleme yapmalıyım.

Teşekkürler.
 
Aşağıdaki gibi kullanabilirsiniz.

C++:
Option Explicit

Function MONTHLASTDAY(My_Date As Date)
    MONTHLASTDAY = WorksheetFunction.EoMonth(My_Date, 0)
End Function

Sub Test()
    Dim Tarih As Date
    
    Tarih = Date

    MsgBox "Girilen ayın son günü ; " & Day(MONTHLASTDAY(Tarih)) & vbCrLf & vbCrLf & Date
End Sub
 
@Korhan Ayhan

Korhan bey, kodu vb6 da kullanacağım. Bu sebepten alttaki fonksiyon hata veriyor.

Function MONTHLASTDAY(My_Date As Date)
MONTHLASTDAY = WorksheetFunction.EoMonth(My_Date, 0)
End Function
 
Böyle deneyiniz.

C++:
Option Explicit

Function AyinSonGunu(ByVal Tarih As Date) As Byte
    Dim SonGun As Byte
    SonGun = DatePart("d", DateAdd("d", -1, DateAdd("m", 1, _
    DateAdd("d", -DatePart("d", Tarih) + 1, Date))))
    AyinSonGunu = SonGun
End Function

Sub Test()
    Dim Tarih As Date
   
    Tarih = Date

    MsgBox "Girilen ayın son günü ; " & AyinSonGunu(Tarih) & vbCrLf & vbCrLf & Tarih
End Sub
 
Bugünün tarihi girilirse sonuç doğru çıkıyor. Ancak Tarih değişkenine "20.10.2000" gibi bir tarih girildiğinde hatalı sonuç veriyor.

Tarih = Date
 
Son düzenleme:
Ben sizin kullandığınız fonksiyonun doğru çalıştığını düşünmüştüm.

Umarım önerim VB6 da çalışır.

C++:
Option Explicit

Function AyinSonGunu(ByVal Tarih As Date) As Byte
    Dim Songun As Variant
    Tarih = DateAdd("m", 1, Tarih)
    Songun = "01/" & DatePart("m", Tarih) & "/" & DatePart("yyyy", Tarih)
    Songun = CLng(CDate(Songun)) - 1
    AyinSonGunu = Day(Songun)
End Function

Sub Test()
    Dim Tarih As Date
    
    Tarih = "20.10.2000"

    MsgBox "Girilen ayın son günü ; " & AyinSonGunu(Tarih) & vbCrLf & vbCrLf & Tarih
End Sub
 
@Korhan Ayhan bey , Benim göndermiş olduğum ve sizin son göndermiş olduğunuz fonksiyon date olarak girildiğinde düzgün çalışıyor.

ama tarihi manuel girdiğimizde, Fonksiyonlar düzgün çalışmıyor...

yada şöyle söyleyeyim;

günü sabit tutup, ay ve yılı değiştirdiğimizde sizin göndermiş olduğunuz kod çalışıyor.

******************************************************

Göndermiş olduğunuz kod hatasız çalışıyor hocam. bir yerde hata yapmışım.


Çok Teşekkür ediyorum. elinize sağlık. Tamamdır...
 
Son düzenleme:
VB6 da deneme şansım yok.

Aşağıdaki gibi bir fonksiyon buldum. Belki işinize yarar.

C++:
Function LastDayOfMonth(My_Date)
   LastDayOfMonth = Day(DateAdd("d", -1, DateAdd("m", 1, DateAdd("d", 1 - DatePart("d", My_Date), My_Date))))
End Function
 
VB6 da deneme şansım yok.

Aşağıdaki gibi bir fonksiyon buldum. Belki işinize yarar.

C++:
Function LastDayOfMonth(My_Date)
   LastDayOfMonth = Day(DateAdd("d", -1, DateAdd("m", 1, DateAdd("d", 1 - DatePart("d", My_Date), My_Date))))
End Function


Bu kodda düzgün çalışıyor.

Tamamdır... Elinize sağlık hocam.
 
Geri
Üst