AccessTr.neT

Tam Versiyon: Excel Vba Matematiksel İşlem Hakkında
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Herkese sağlıklı günler dilerim.
Uygulamada Döviz cinsi seçildiği anda Toplam tutarın (Proje bedeli) Mevcut döviz kurundan karşılığının Döviz Karşılığı Textboxına yazılmasını yapmaya çalıştım. Formülde tutarı döviz kuruna böldüm fakat sonuç resimde görüldüğü gibi 0.6535... şeklinde çıkıyor. Normalde 6.535 usd göstermesi gerekiyor. Sorun nedir.



Kod:
Private Sub ComboBox_DovizCinsi_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If KeyCode = 13 Then KeyCode = 9

If ComboBox_DovizCinsi.Value = "USD" Then
TextBox_DovizKuru.Value = [Kurlar!C2]
TextBox_DovizKarsiligi.Value = TextBox_ProjeBedeli.Value / TextBox_DovizKuru.Value

ElseIf ComboBox_DovizCinsi.Value = "EURO" Then
TextBox_DovizKuru.Value = [Kurlar!C5]

Else

TextBox_DovizKuru.Value = 1

End If


End Sub


[Resim: do.php?img=11340]
virgül ve nokta farkından kaynaklanan bir sorundur sayıları nokta yerine virgül koyarak dener misiniz?
(13/10/2021, 14:00)berduş yazdı: [ -> ]virgül ve nokta farkından kaynaklanan bir sorundur sayıları nokta yerine virgül koyarak dener misiniz?

@berduş hocam ondan kaynaklanıyor evet ama evdeki ile iş deki bilgisayarlarda farklı sonuç veriyor. Sistem ayarlarından . ile , değiştirip yapmaya çalışıyorum.
Aslında bir kod vardı excelin ondalık ve basamak olaylarını değiştiren.

Yani Excel açılışında kontrol ediyor eğer nokta ise virgül yada tersi bunları çeviriyordu.
Kapanıştada eski haline çeviriyordu.
Bulunca yüklerim sanırım arşivimde olacak.
Bir modüle alttaki kodları ekleyin abey.Open yada colse varsa içindekileri ekleyin yada excelin açılış yada kapanış yerlerine ekleyin with ile end if olan yerleri.

Sub Auto_Open()
    With Application
        .DecimalSeparator = ","
        .ThousandsSeparator = "."
        .UseSystemSeparators = False
    End With
End Sub

Sub Auto_Close()
    With Application
        .DecimalSeparator = "."
        .ThousandsSeparator = ","
        .UseSystemSeparators = True
    End With
End Sub
[quote="feraz" pid="182945" dateline="1634177102"]
Bir modüle alttaki kodları ekleyin abey.Open yada colse varsa içindekileri ekleyin yada excelin açılış yada kapanış yerlerine ekleyin with ile end if olan yerleri.

@feraz hocam maalesef bu şekilde de çalışmadı. Kur sayfasından alınan değeri text olarak alınca formül düzgün çalıştı.
Kod:
Private Sub ComboBox_DovizCinsi_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If KeyCode = 13 Then KeyCode = 9

If ComboBox_DovizCinsi.Value = "USD" Then

TextBox_DovizKuru.Value = [Kurlar!C2].Text
TextBox_DovizKarsiligi.Value = Format(TextBox_ProjeBedeli.Value / TextBox_DovizKuru.Value, "#,##")

ElseIf ComboBox_DovizCinsi.Value = "EURO" Then

TextBox_DovizKuru.Value = [Kurlar!C5].Text
TextBox_DovizKarsiligi.Value = Format(TextBox_ProjeBedeli.Value / TextBox_DovizKuru.Value, "#,##")

Else

TextBox_DovizKuru.Value = 1
TextBox_DovizKarsiligi.Value = Format(TextBox_ProjeBedeli.Value / TextBox_DovizKuru.Value, "#,##")

End If


End Sub


Çok şükür hallettim. Teşekkürler.