• Foruma hoş geldin 👋 Ziyaretçi

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Çözüldü Bareme göre kargo fiyatı belirlemek

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

oguzhanknc

Yeni Üye
Kullanıcı Bilgileri
Aktiflik
Çevrimdışı
Katılım
13 Ocak 2024
Mesajlar
6
Aldığı beğeni
0
Excel Versiyonu
Office 365 TR
Konuyu Başlatan
C#:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.

Arkadaşlar çıkan sonuç hangi aralıkta ise ona göre tuş2'yi hesaplayıp tekrar sonucu belirlemesini istiyorum ancak bir türlü yapamadım
 

Ekli dosyalar

  • Makro Çalışma.xlsm
    62.6 KB · Gösterim: 5
Çözüm
Sayın oguzhanknc

Sanki kodlarda bir mantık hatası var gibi.
Yada kademe hatası.
Birinci seferde sonuç değişkenine atadığınız tuş2 değeri 0 dır.
İkinci seferde sonuç değişkenine atadığınız tuş2 değeri 0 dan farklıdır.
Aşağıda sizin kodlarınızla ilgili açıklama mevcut.
Kod tagındaki gibi deneyin.
Kolay gelsin.

' If TextBox5 <> "" And TextBox7 <> "" And TextBox8 <> "" Then '1
'
' Dim tuş1 As Double, tuş2 As Double, tuş3 As Double, tuş4 As Double, sonuç As Double
'
'tuş1 = CDbl(TextBox5.Value)
'tuş3 = CDbl(TextBox7.Value)
'tuş4 = CDbl(TextBox8.Value)
'sonuç = 100 * (tuş1 + tuş2) / (100 - tuş3 - tuş4) 'burda tuş2 değeri 0 dır.
'
'Select Case sonuç 'burda sonuç değişkeni tuş2 = 0 a göre şekillenmiştir.
'Case Is >=...
sonuç = 100 * (tuş1 + tuş2) / (100 - tuş3 - tuş4) işlemini if blogunun dışına almanız gerekir diye düşünüyorum. Sonuç belli olmadan if bloğu çalışmaz.
 
sonuç = 100 * (tuş1 + tuş2) / (100 - tuş3 - tuş4) işlemini if blogunun dışına almanız gerekir diye düşünüyorum. Sonuç belli olmadan if bloğu çalışmaz.
bunu denedim ancak yine olmuyor galiba burda döngü kullanmam gerek ama tam bilmiyorum
 
Private Sub CommandButton1_Click()
If TextBox5 <> "" And TextBox7 <> "" And TextBox8 <> "" Then

Dim tuş1 As Double, tuş2 As Double, tuş3 As Double, tuş4 As Double, tuş5 As Double, sonuç As Double
tuş1 = TextBox5.Value
tuş3 = TextBox7.Value
tuş4 = TextBox8.Value

If sonuç < 90 Then
tuş2 = 15
ElseIf sonuç > 90 And sonuç < 150 Then
tuş2 = 35
ElseIf sonuç > 150 Then
tuş2 = 45

End If

sonuç = 100 * (tuş1 + tuş2) / (100 - tuş3 - tuş4)

If sonuç = 0 Then
MsgBox ("Bilgileri Giriniz.")
Else
TextBox10.Text = sonuç
TextBox15.Text = sonuç - (sonuç * (tuş3 / 100)) - tuş1 - tuş2

End If
TextBox6.Text = tuş2
tuş1 = Empty
tuş3 = Empty
tuş4 = Empty
sonuç = Empty
Else
MsgBox "Fiyat Bilgilerini Giriniz"
End If



End Sub
Arkadaşlar çıkan sonuç hangi aralıkta ise ona göre tuş2'yi hesaplayıp tekrar sonucu belirlemesini istiyorum ancak bir türlü yapamadım
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
denermisiniz.
 
hocam öncelikle teşekkür ederim ancak satış fiyatıı 115 lira çıkmasına rağmen kargo değerini istediğim aralıkta ki değer olarak almıyor
hocam öncelikle teşekkür ederim ancak satış fiyatıı 115 lira çıkmasına rağmen kargo değerini istediğim aralıkta ki değer olarak almıyor
Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
denermisiniz.
muhtemelen sonucu yukarda ilk hesapladığımızda tuş 2 değerini hesaba katmıyor ve baremin sapmasına neden oluyor
 
Sayın oguzhanknc

Sanki kodlarda bir mantık hatası var gibi.
Yada kademe hatası.
Birinci seferde sonuç değişkenine atadığınız tuş2 değeri 0 dır.
İkinci seferde sonuç değişkenine atadığınız tuş2 değeri 0 dan farklıdır.
Aşağıda sizin kodlarınızla ilgili açıklama mevcut.
Kod tagındaki gibi deneyin.
Kolay gelsin.

' If TextBox5 <> "" And TextBox7 <> "" And TextBox8 <> "" Then '1
'
' Dim tuş1 As Double, tuş2 As Double, tuş3 As Double, tuş4 As Double, sonuç As Double
'
'tuş1 = CDbl(TextBox5.Value)
'tuş3 = CDbl(TextBox7.Value)
'tuş4 = CDbl(TextBox8.Value)
'sonuç = 100 * (tuş1 + tuş2) / (100 - tuş3 - tuş4) 'burda tuş2 değeri 0 dır.
'
'Select Case sonuç 'burda sonuç değişkeni tuş2 = 0 a göre şekillenmiştir.
'Case Is >= 150
'tuş2 = 45
'Case Is >= 90
'tuş2 = 35
'Case Is < 90
'tuş2 = 15
'End Select
'
'sonuç = 100 * (tuş1 + tuş2) / (100 - tuş3 - tuş4) 'burda sonuç değişkeni tuş2 > 0 a göre şekillenmiştir
'dolayısıyla bir üstteki sonuç değişkeni ile burdaki sonuç değişkeni aynı değerde değil.
'aşağıdaki kodlarda sonuç değişkeni ile yapılan işlemler bu ikinci değere göre olur.
'TextBox6.Value = tuş2 satırında ise tuş2 ilk sonuç değişkenine göre değer taşımaya devam eder.
'çelişki burdan kaynaklı.

'
' If sonuç = 0 Then
' MsgBox "Bilgileri Giriniz."
' Else
' TextBox10.Text = sonuç
' TextBox15.Text = sonuç - (sonuç * (tuş3 / 100)) - tuş1 - tuş2
' End If
'
' 'TextBox6.Text = tuş2
' TextBox6.Value = tuş2
' Else
' MsgBox "Fiyat Bilgilerini Giriniz"
' End If '1

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
 

Ekli dosyalar

  • Makro Çalışma.xlsm
    36.3 KB · Gösterim: 4
Çözüm
Sayın oguzhanknc

Sanki kodlarda bir mantık hatası var gibi.
Yada kademe hatası.
Birinci seferde sonuç değişkenine atadığınız tuş2 değeri 0 dır.
İkinci seferde sonuç değişkenine atadığınız tuş2 değeri 0 dan farklıdır.
Aşağıda sizin kodlarınızla ilgili açıklama mevcut.
Kod tagındaki gibi deneyin.
Kolay gelsin.

' If TextBox5 <> "" And TextBox7 <> "" And TextBox8 <> "" Then '1
'
' Dim tuş1 As Double, tuş2 As Double, tuş3 As Double, tuş4 As Double, sonuç As Double
'
'tuş1 = CDbl(TextBox5.Value)
'tuş3 = CDbl(TextBox7.Value)
'tuş4 = CDbl(TextBox8.Value)
'sonuç = 100 * (tuş1 + tuş2) / (100 - tuş3 - tuş4) 'burda tuş2 değeri 0 dır.
'
'Select Case sonuç 'burda sonuç değişkeni tuş2 = 0 a göre şekillenmiştir.
'Case Is >= 150
'tuş2 = 45
'Case Is >= 90
'tuş2 = 35
'Case Is < 90
'tuş2 = 15
'End Select
'
'sonuç = 100 * (tuş1 + tuş2) / (100 - tuş3 - tuş4) 'burda sonuç değişkeni tuş2 > 0 a göre şekillenmiştir
'dolayısıyla bir üstteki sonuç değişkeni ile burdaki sonuç değişkeni aynı değerde değil.
'aşağıdaki kodlarda sonuç değişkeni ile yapılan işlemler bu ikinci değere göre olur.
'TextBox6.Value = tuş2 satırında ise tuş2 ilk sonuç değişkenine göre değer taşımaya devam eder.
'çelişki burdan kaynaklı.

'
' If sonuç = 0 Then
' MsgBox "Bilgileri Giriniz."
' Else
' TextBox10.Text = sonuç
' TextBox15.Text = sonuç - (sonuç * (tuş3 / 100)) - tuş1 - tuş2
' End If
'
' 'TextBox6.Text = tuş2
' TextBox6.Value = tuş2
' Else
' MsgBox "Fiyat Bilgilerini Giriniz"
' End If '1

Kod:
Değerli Misafirimiz İçeriği Görebilmek İçin Üyemiz İseniz Giriş Yap'ın Ya da Üye Ol'un.
Hocam çok teşekkür ederim gayet açıklayıcı oldunuz sorunum çözüldü
 
Sevindim.
İyi çalışmalar.
Kolay gelsin.
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst