Skip to main content

AccessTr.neT


Excel Vba Matematiksel İşlem Hakkında

Oğuz Türkyılmaz
Oğuz Türkyılmaz
5
133

Excel Vba Matematiksel İşlem Hakkında

Çözüldü #1
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]
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#2
virgül ve nokta farkından kaynaklanan bir sorundur sayıları nokta yerine virgül koyarak dener misiniz?
Cevapla
#3
(13/10/2021 14:00)berduş Adlı Kullanıcıdan Alıntı: 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.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla
#4
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.
Cevapla
#5
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.

Visual Basic Code
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
Cevapla
#6
[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.
Access Çekirgesi 
[Resim: img-cray.gif]


Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da