Eğer 60 yaşını bitirdiyse (X) bitirmediyse (Y)

Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Değerli Dostlar Selamlar,
Aşağıdaki kod ile 60 yaşını bitirip 61 den gün aldıysa (x) değilse (Y) seçilsin.
Sub yashesabı()
If Range("a1(doğumtarihi+60yıl)") => "Bugün-Doğumtarihi=60 yaş" Then
MsgBox "Kart verilebilir"
ElseIf Range("a1(doğumtarihi+60yıl)") < "Bugün-Doğumtarihi=60 yaş"" Then
MsgBox "Kart verilemez"
End If
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,598
Excel Vers. ve Dili
Pro Plus 2021
Merhaba, l&#252;tfen do&#287;rulu&#287;unu test edip kullan&#305;n.
Kod:
Sub yashesab&#305;()
    If Year(Date - [a1]) - 1900 >= 60 Then MsgBox ("Kart Verilebilir") Else MsgBox ("Kart Verilemez.")
End Sub
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Say&#305;n veyselemre,
Benmi hesapl&#305;yamad&#305;m bilmiyorum.
Sub yashesab&#305;3()
[A3] = Year(a1)
End Sub
yazd&#305;&#287;&#305;m&#305;z zaman y&#305;l&#305; vermezmi. Hani form&#252;l ile =YIL(A1) ayn&#305; m&#305; olmal&#305;? Ben hesab&#305; yanl&#305;&#351;l&#305;k varm&#305;&#351; gibi alg&#305;lad&#305;m da nerede hata yap&#305;yorum bilemedim.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Say&#305;n veyselemre tamam ben hatal&#305; alg&#305;lam&#305;&#351;&#305;m &#246;z&#252;r dilerim. Sorun &#231;&#246;z&#252;ld&#252;.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
De&#287;erli Dostlar ilgin&#231; bir durum var. Kodlar&#305; Visual Basic Run komutuyla &#231;al&#305;&#351;t&#305;r&#305;yorum b&#252;t&#252;n tarihlere "Kart verilebilir" yaz&#305;yor; Buton ile &#231;al&#305;&#351;t&#305;r&#305;yorum "Kart verilemez" diyor. Ama ayn&#305; kod bir diyer dosyada normal &#231;al&#305;&#351;&#305;yor.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Kodlar&#305; Run ile &#231;al&#305;&#351;t&#305;rd&#305;&#287;&#305;n&#305;zda, Mevcut aktif olan sayfan&#305;z hangisi?

kodda : If Year(Date - [a1]) - 1900

Direk olarak a1 h&#252;cresi denmi&#351;. Sayfa ad&#305; belirtilmemi&#351;. Dolay&#305;s&#305;yla vba dan run ile &#231;al&#305;&#351;t&#305;&#287;&#305; durumda mevcut aktif olan sayfa hangisi ise ona g&#246;re kod &#231;al&#305;&#351;acakt&#305;r.
(Benim akl&#305;ma bu geldi)..
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Say&#305;n Ayhan Ercan te&#351;ekk&#252;r ederim cevab&#305;n&#305;z i&#231;in. Sayfayla ilgili de&#287;ilde bulamad&#305;m sebebini. Form&#252;l ile &#231;&#246;zd&#252;m. Pek &#351;&#305;k olmad&#305; ama yoktan iyi.
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Selamlar,
Değerli Dostlar ekli dosyada Sayın veyselemre'nin yazdığı kodu iki şekilde yaptım. yaşhesabı isimli makro ile hücreden çalıştırıyorum hesap doğru. Userformdan çalıştırıyorum yanlış hesaplıyor.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba

Textboxla ilgili mevcut kodunuzu a&#351;a&#287;&#305;daki gibi de&#287;i&#351;tirerek deneyiniz...

Kod:
If Year(Date - CDate(UserForm1.TextBox1.Value)) - 1900 >= 60 Then......
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Merhaba Say&#305;n Ayhan Ercan,
&#214;ncelikle te&#351;ekk&#252;r ederim. H&#252;cre i&#351;lemlerinde bu t&#252;r uygulamalar&#305; rahatl&#305;kla yap&#305;yordum. TextBox larla ilgili uygulamalarda s&#305;k&#305;nt&#305;ya d&#252;&#351;t&#252;m.
UserForm1.TextBox31.Value = WorksheetFunction.CountIf(Sayfa4.Range("B2:B65536"), UserForm1.TextBox2.Value & UserForm1.TextBox3.Value)
If Year(Date - CDate(UserForm1.TextBox1.Value)) - 1900 >= 60 Then UserForm1.TextBox32.Value = "YETERL&#304;" Else UserForm1.TextBox32.Value = "YETERS&#304;Z"
Bu uygulamalar&#305;n ikisindende sonu&#231; alamad&#305;m. Yar&#305;m g&#252;nd&#252;r u&#287;ra&#351;&#305;yorum. M&#252;mk&#252;nse hatam ne incelermisiniz.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Hatam&#305; al&#305;yorsunuz sonu&#231;mu alam&#305;yorsunuz.

Bu kodlar ile ne yapmaya &#231;al&#305;&#351;&#305;yorsunuz?

Ben kodlar&#305; &#231;al&#305;&#351;ma mant&#305;&#287;&#305;na g&#246;re kendime uyarlad&#305;m bende sorun c&#305;kmad&#305;. Gayet g&#252;zel &#231;al&#305;&#351;&#305;yor...
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Sayın Ayhan Ercan,
Eklediğim dosyada UserForm üzerinde, "önceden kaydı, Ankara'da mı oturuyor, yaşı yeterlimi gibi alanları doldurmaya çalışıyorum. Dosyanın şifresi 123
konu olan bölüm "aktar isimli makronun sonunda.
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,573
Excel Vers. ve Dili
Microsoft 365- Türkçe
Tekrar Merhaba sn kelkitli

If Year(Date - CDate(UserForm1.TextBox5.Value))

Do&#287;um tarihine g&#246;re hesaplatt&#305;rma yap&#305;yorsunuz anlad&#305;&#287;&#305;m kadar&#305;yla.
Do&#287;um tarihi de Textbox1 de de&#287;il Textbox5 te

Kodunuzu ona g&#246;re revize ederek deneyiniz....
 
Katılım
23 Şubat 2007
Mesajlar
1,212
Excel Vers. ve Dili
Excel2003
Say&#305;n Ayhan Ercan,
Te&#351;ekk&#252;rler, d&#252;n fazla u&#287;ra&#351;t&#305;m, demekki tak&#305;lm&#305;&#351; kafam.
 
Üst