• DİKKAT

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

Excel hücresindeki TARİH'in TextBox'da farklı farklı görünmesi 03.15.2008 gibi

  • Konbuyu başlatan Konbuyu başlatan goco
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Ağustos 2006
Mesajlar
21
VBA konusunda yeniyim. Öğrenmeye çalışıyorum. Yardımcı olursanız memnun olacağım. Benim 2 sorum olacaktı.
1.SORUM: Bir excel hücresindeki(14.03.2008) tarih Textbox'da hatalı(03.14.2008) olarak görünüyor. Bunu nasıl düzeltebilirim? Çünkü zaman zaman TextBoxlar üzerinden bu tarihleri çağırıp değiştireceğim.
2.SORUM: 8 tane TextBox'ım var.
Text1 =200,25 YTL
Text2 =300,50 YTL
Text3 =499,25 YTL
Text4 =1000,00 (Text1 +Text2+Text3)
Text5 = 5 kişi
Text6 =200,00 YTL (Text4 / Text5)
Text7 =155,00 YTL
Text8 ="ALTINDA" Yani Text6 Text7 den büyük olduğundan altında yazdı, küçük olsaydı "ÜSTÜNDE" yazacaktık.
Bunu VBA da yapabilir miyiz?
NOT: Bu sayıları TextBoxda virgülden sonra yazmada problemle karşılaştım. Bu konuyu da göz önüne alırsanız memnun olurum.
İlginize şimdiden teşekkür ederim efendim. Kolay gelsin.
 
ekteki dosyayi inceleyiniz
 
karadami Üstadım,
Doğrusu ne diyeceğimi bilemiyorum. Çok aradım, uğraştım fakat bulamamıştım. Çok Çok teşekkür ederim. Elinize sağlık.
 
EŞİtlİk Durumunda "eŞİt" Yazabİlİr Mİyİz?

ekteki dosyayi inceleyiniz

Private Sub TextBox7_Change()
If TextBox7 = "" Then TextBox8 = ""
If Val(TextBox7.Value) < Val(TextBox6.Value) Then
TextBox8 = "ALTINDA"

Else
TextBox8 = "ÜSTÜNDE"

End If
End Sub

Karadami Üstadım, bu kodların devamında "Text6 = Text7 ise
TextBox8 ="EŞİT" yazdırabilir miyiz?
Size zahmet olacak ama. Çok teşekkür ederim.
 
Aşağıdaki kodu deneyiniz.:cool:
Kod:
Private Sub TextBox7_Change()
If Textbox7 = "" Then Textbox8 = ""
If Val(Textbox7.Value) < Val(Textbox6.Value) Then
Textbox8 = "ALTINDA"

ElseIf Textbox6.Value = Textbox7.Value Then
Textbox8.Value = "EŞİT"
Else

Textbox8 = "ÜSTÜNDE"

End If
End Sub
 
Kod:
 if val(textbox7.value=val(textbox6.value) then textbox8="E&#350;&#304;T"

bu kodu yolladiginiz koddaki end if ile end sub arasina yazin.
...
end if
if val(textbox7.value=val(textbox6.value) then textbox8="E&#350;&#304;T"
end sub
olarak..
 
Aşağıdaki kodu deneyiniz.:cool:
Kod:
Private Sub TextBox7_Change()
If Textbox7 = "" Then Textbox8 = ""
If Val(Textbox7.Value) < Val(Textbox6.Value) Then
Textbox8 = "ALTINDA"

ElseIf Textbox6.Value = Textbox7.Value Then
Textbox8.Value = "EŞİT"
Else

Textbox8 = "ÜSTÜNDE"

End If
End Sub

Evren Gizlen USTAM, verdiğiniz kodlar eşitlik durumunda yine "EŞİT" yazmadı. Bir zahmet bakabilir misiniz? Çok teşekkür ederim.
 
Karadimi ustam ellerine sa&#287;l&#305;k. Tamamd&#305;r. &#199;ok te&#351;ekk&#252;r ederim.
Ayr&#305;ca Evren Gizlen Ustama da te&#351;ekk&#252;r ederim.
 
Evren Gizlen USTAM, verdiğiniz kodlar eşitlik durumunda yine "EŞİT" yazmadı. Bir zahmet bakabilir misiniz? Çok teşekkür ederim.
Eminmisiniz?:cool:
Önceki textbox7 change olayını sildinizmi?
Ayrıca kodların çalışabilmesi için en son Textbox7 ye veri girmelisiniz.:cool:
 
&#214;nemsiz g&#246;r&#252;nebilir ancak hat&#305;rlatmakta yarar olabilir.

Bildi&#287;iniz gibi VBA da ondal&#305;k ayrac&#305; "." d&#305;r. Biz "," kullan&#305;r&#305;z. Val () fonksiyonu virg&#252;l&#252; string olarak de&#287;erlendirdi&#287;i i&#231;in virg&#252;le kadar olan k&#305;sm&#305; say&#305; olarak al&#305;r.

Bunun sonucu olarak da, kuru&#351;lu/ondal&#305;k say&#305;larda k&#305;yaslama yap&#305;ld&#305;&#287;&#305;nda hep e&#351;itsizlik d&#246;necektir.
 
Önemsiz görünebilir ancak hatırlatmakta yarar olabilir.

Bildiğiniz gibi VBA da ondalık ayracı "." dır. Biz "," kullanırız. Val () fonksiyonu virgülü string olarak değerlendirdiği için virgüle kadar olan kısmı sayı olarak alır.

Bunun sonucu olarak da, kuruşlu/ondalık sayılarda kıyaslama yapıldığında hep eşitsizlik dönecektir.
Zeki hocam verdiğiniz bilgiler için teşekkürler.
Bende zaten yadığım kodda VAL kullanmadım.
Kod:
ElseIf Textbox6.Value = Textbox7.Value Then
Textbox8.Value = "EŞİT"
 
Buraya kadar tamam da yaln&#305;z bir sorun g&#246;r&#252;n&#252;yor. Rakamlar YTL den sonra YKR&#350; yaz&#305;lm&#305;yor. &#214;rn. 150,25 yazd&#305;&#287;&#305;m zaman toplam&#305;nda 150,00 yaz&#305;yor(TextBox4'e). &#214;rnek kodu da &#351;&#246;yle:

TextBox1 = Format(TextBox1, "###0.00 YTL")

Burada Kuru&#351;lar&#305; da toplamas&#305;n&#305; istiyorum. Bu konu da yard&#305;mc&#305; olabilir misiniz?
 
Zeki G&#252;rsoy;255913' Alıntı:
&#214;nemsiz g&#246;r&#252;nebilir ancak hat&#305;rlatmakta yarar olabilir.

Bildi&#287;iniz gibi VBA da ondal&#305;k ayrac&#305; "." d&#305;r. Biz "," kullan&#305;r&#305;z. Val () fonksiyonu virg&#252;l&#252; string olarak de&#287;erlendirdi&#287;i i&#231;in virg&#252;le kadar olan k&#305;sm&#305; say&#305; olarak al&#305;r.

Bunun sonucu olarak da, kuru&#351;lu/ondal&#305;k say&#305;larda k&#305;yaslama yap&#305;ld&#305;&#287;&#305;nda hep e&#351;itsizlik d&#246;necektir.
Buraya kadar tamam da yaln&#305;z bir sorun g&#246;r&#252;n&#252;yor. Rakamlar YTL den sonra YKR&#350; yaz&#305;lm&#305;yor. &#214;rn. 150,25 yazd&#305;&#287;&#305;m zaman toplam&#305;nda 150,00 yaz&#305;yor(TextBox4'e). &#214;rnek kodu da &#351;&#246;yle:

TextBox1 = Format(TextBox1, "###0.00 YTL")

Burada Kuru&#351;lar&#305; da toplamas&#305;n&#305; istiyorum. Bu konu da yard&#305;mc&#305; olabilir misiniz?.

Zeki bey sizi uyarm&#305;&#351;t&#305;.:cool:
 
Bende b&#305;r sorun gozukmuyor, kusuratlar&#305; da topluyor.... verd&#305;g&#305;m ornek dosyada userform ustunde bel&#305;rtt&#305;g&#305;m g&#305;b&#305; kusurat g&#305;rmek &#305;c&#305;n "." kullan&#305;n d&#305;ye not b&#305;rakm&#305;st&#305;m....
 
KÜsÜratli Toplamlari ??

Üstadlarım, Gönderdiğim bu formu yardımlarınızla yapmaya çalıştım. Fakat Formda bazı hatalar var; çözemedim. Bir zahmet bakabilir misiniz?
İlginize Teşekkür ederim.

Bu Arada yardımları nedeniyle
"Karadami, Evren Gizlen ve Zeki Gürsoy" Uzmanlarıma TEŞEKKÜR ediyorum.
EMEĞE SAYGI DUYMAK LAZIM
 
Say&#305;n Evren Gizlen Usta,
Dediklerinizi yapt&#305;m fakat Formda problem &#231;&#305;kt&#305;. A&#231;&#305;klamas&#305; ile birlikte yukar&#305;da g&#246;nderdim. Bir zahmet bakabilir misiniz?
&#304;lginize te&#351;ekk&#252;r ederim.
 
1. sorunuzu anlamad&#305;m. zaten direk olarak al&#305;yorsunuz form &#252;st&#252;ne siz nas&#305;l bir &#351;ey istiyorsunuz anlayamad&#305;m.
&#246;rnek olarak
150.25 => DOGRU KULLANIM
150,25 => YANLIS KULLANIM Bu &#351;ekilde yazarsan&#305;z 15025 olarak kabul edilir.
2.sorunuzun cevab&#305; i&#231;in daha &#246;nceki mesajlarda da belirtti&#287;im gibi kuru&#351; girmeden &#246;nce "." kullanin "," degil.
3. sorunuzun cevab&#305;
Kod:
Private Sub TextBox6_Change()
If TextBox7 <> "" Then TextBox8 = ""
If (TextBox7.Value) < (TextBox6.Value) Then
TextBox8 = "1/3'&#252;n &#220;ST&#220;NDE"
Else
TextBox8.Value = "1/3'&#252;n ALTINDA"
End If
If (TextBox7.Value) = (TextBox6.Value) Then TextBox8 = "1/3'&#252;ne E&#222;&#221;T"
End Sub
 
1. sorunuzu anlamadım. zaten direk olarak alıyorsunuz form üstüne siz nasıl bir şey istiyorsunuz anlayamadım.
örnek olarak
150.25 => DOGRU KULLANIM
150,25 => YANLIS KULLANIM Bu şekilde yazarsanız 15025 olarak kabul edilir.
2.sorunuzun cevabı için daha önceki mesajlarda da belirttiğim gibi kuruş girmeden önce "." kullanin "," degil.
3. sorunuzun cevabı
Kod:
Private Sub TextBox6_Change()
If TextBox7 <> "" Then TextBox8 = ""
If (TextBox7.Value) < (TextBox6.Value) Then
TextBox8 = "1/3'ün ÜSTÜNDE"
Else
TextBox8.Value = "1/3'ün ALTINDA"
End If
If (TextBox7.Value) = (TextBox6.Value) Then TextBox8 = "1/3'üne EÞÝT"
End Sub

Karadami Ustam, teşekkür ederim. Dediklerinizi harfiyen yaptım. Fakat;
1.SORUM: Tarih ve sayıyı Excel Sayfasından değil de UserForm üzerindeki herhangi biryerden(TextBox vs. den) almak istemiştim.
2.SORUM: Text1,2,3 ve 13'e yazdıklarımın toplamı Text4'e Küsüratlı olarak geçmiyor. Gönderdiğim dosya üzerinde dener misiniz? "," yerine "."NOKTA kullanıyorum zaten. Yazarken yazıyor fakat Toplama geçmiyor.
3.SORUM: Text6 ile Text7'nin eşitliği durumunda "EŞİT" de yazmıyor. Form üzerinde deneyebilir misiniz?
 
Karadami Ustam, teşekkür ederim. Dediklerinizi harfiyen yaptım. Fakat;
1.SORUM: Tarih ve sayıyı Excel Sayfasından değil de UserForm üzerindeki herhangi biryerden(TextBox vs. den) almak istemiştim.
2.SORUM: Text1,2,3 ve 13'e yazdıklarımın toplamı Text4'e Küsüratlı olarak geçmiyor. Gönderdiğim dosya üzerinde dener misiniz? "," yerine "."NOKTA kullanıyorum zaten. Yazarken yazıyor fakat Toplama geçmiyor.
3.SORUM: Text6 ile Text7'nin eşitliği durumunda "EŞİT" de yazmıyor. Form üzerinde deneyebilir misiniz?
sayin goco son verdigim kodlari formlar arasina ekleyin. dikkat edin textbox6_change()
...
end sub

sizin kodlarinizda bu yok. yada textbox 7 nin ustune 2 tiklayin ve textbox7_change deki 7 i 6 yapin. o zaman esittir yaziyor.

eklediginiz dosya bende sorunsuz calisiyor kusuratlarida topluyor isleme de dahil ediyor.
 
sayin goco son verdigim kodlari formlar arasina ekleyin. dikkat edin textbox6_change()
...
end sub

sizin kodlarinizda bu yok. yada textbox 7 nin ustune 2 tiklayin ve textbox7_change deki 7 i 6 yapin. o zaman esittir yaziyor.

eklediginiz dosya bende sorunsuz calisiyor kusuratlarida topluyor isleme de dahil ediyor.

Sayın Karadimi Hocam, İnanın dediklerinizi denedim. Fakat hata verdi. Dosya burada bir bakıp düzeltebilir misiniz acaba? Başınızı ağrıtıyorum kusura bakmayın. İlginize teşekkür ederim.
 
Geri
Üst