• DİKKAT

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

Soru TextBox'lar arası anlık veri değişimi

Katılım
5 Mart 2018
Mesajlar
34
Excel Vers. ve Dili
2016
Merhabalar
TextBox_BirimFiyat değiştiğinde bu değişikliği algılayıp Kalem1_Fiyat textBox'un yeni değerle değişikliği algılayıp yeni tutarla hesaplamasını nasıl sağlayabilirim.

Kod:
Private Sub Kalem1_Miktar_Change()
If TextBox_BirimFiyat = "" Then
On Error GoTo Bitir
If Kalem1_Miktar = "" Then Exit Sub
Bitir: MsgBox "Lütfen önce KDV Dahil  /  KDV Hariç fiyat belirleyiniz!!", vbCritical
Kalem1_Miktar = ""
Exit Sub
End If

If Kalem1_Miktar = "" Then
Kalem1_Fiyat = ""
Else
Kalem1_Fiyat = Replace(Kalem1_Miktar * TextBox_BirimFiyat, ".", ",")
End If

Kalem1_Fiyat = Format(Kalem1_Fiyat, "0.00")
End Sub
 
Sayfa3'ten Fatura kes düğmesine basınca açılan userformda KDV Dahil yada KDV Hariç kısmına tutar girdikten sonra Birim Fiyat oluşuyor. Sonra kalemlerde Miktar kısmına değer girince Birim Fiyat ile çarpıyor ve Fiyat kısmına yazıyor. Ancak KDV Dahil yada KDV Hariç kısmından değeri değiştirince Fiyat eski kalıyor. İnşallah anlatabilmişimdir.

Dosya linktedir;
http://dosya.co/jidfqlq2xxtt/Proje.rar.html
 
Bir şeyler karaladım. Deneyiniz.

Kod:
Private Sub KDV_Dahil_Change()
If Me.KDV_Dahil = "" Then Me.KDV_Haric.Enabled = True
If Me.KDV_Dahil <> "" Then Me.KDV_Haric.Enabled = False

If KDV_Dahil = "" Then
TextBox_BirimFiyat = ""
Else
TextBox_BirimFiyat = Replace(KDV_Dahil / 1.18, ".", ",")
End If
TextBox_BirimFiyat = Format(TextBox_BirimFiyat, "0.00")

For Each Nesne In Me.Controls
    If InStr(1, Nesne.Name, "Miktar") > 0 Then
        If Nesne.Value <> "" Then
            Ad = Replace(Nesne.Name, "Miktar", "Fiyat")
            Me.Controls(Ad).Value = Nesne.Value * IIf(TextBox_BirimFiyat.Value = "", 0, TextBox_BirimFiyat.Value)
        End If
    End If
Next
End Sub

Private Sub KDV_Haric_Change()
If Me.KDV_Haric = "" Then Me.KDV_Dahil.Enabled = True
If Me.KDV_Haric <> "" Then Me.KDV_Dahil.Enabled = False
If Me.KDV_Haric = "" Then Me.TextBox_BirimFiyat.Enabled = True
If Me.KDV_Haric <> "" Then Me.TextBox_BirimFiyat.Enabled = False

If KDV_Haric = "" Then
TextBox_BirimFiyat = ""
Else
TextBox_BirimFiyat.Value = KDV_Haric.Value
End If

For Each Nesne In Me.Controls
    If InStr(1, Nesne.Name, "Miktar") > 0 Then
        If Nesne.Value <> "" Then
            Ad = Replace(Nesne.Name, "Miktar", "Fiyat")
            Me.Controls(Ad).Value = Nesne.Value * IIf(TextBox_BirimFiyat.Value = "", 0, TextBox_BirimFiyat.Value)
        End If
    End If
Next
End Sub
 
Görsel üzerinde tarif edebilir misiniz?
 
Aslında sorun küsuratlar da ortaya çıkıyor. Bu konuda yardımcı olabilecek birileri var mı?
 
Sebebi KDV DAHİL işleminde 3 küsürattan sonraki kuruş rakamlarını biçimlendirmenizden kaynaklanıyor.

Biçimi kaldırırsanız toplamlar tutacaktır.
 
Biçimlendirmeyi kaldırdığımda 33.90 yapıyor. Ben bu veriyi Excelde hücreye atadığımda 33,90 olarak yazmasını nasıl sağlarım peki?
 
Aşağıdaki gibi deneyiniz.

Kod:
Range("A1").Value = CDbl(Tutar)
 
Geri
Üst