• DİKKAT

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

Textbox ondalık değer olarak artırıp azaltma

Katılım
27 Mart 2021
Mesajlar
91
Excel Vers. ve Dili
ofis 2010
Merhabalar
SpinButton yardımıyla textboxtaki değeri ondalık olarak artırıp azaltabiliyorum. Sorunum bu değeri belirli sınırlar içerisinde yapması, örnek olarak 0,5 - 0,6 - 0,7 - 1,0 - 1,1 ...... veya 2,2 - 2,1 - 2,0 - 1,7 - 1,6 ... şeklinde, yani ondalık kısmı max. " .. , 7 " olacak.
 
Örnek dosyanız ektedir. Ayrıca resimli olarak ta ekliyorum.
Kod:
Dim deger()

Private Sub SpinButton1_Change()
TextBox1 = Format(deger(SpinButton1.Value), "0.0")
End Sub

Private Sub UserForm_Initialize()
deger = Array(0.5, 0.6, 0.7, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 2, 2.1, 2.2)
SpinButton1.Min = 0
SpinButton1.Max = UBound(deger)
End Sub

232640 232641

Ya da alternatif olarak aşağıdaki gibi de deneyebilirsiniz.

Kod:
Private Sub SpinButton1_Change()
deger = SpinButton1.Value / 10
TextBox1 = Format(IIf(deger - Int(deger) > 0.7, deger + 0.2, deger), "0.0")
End Sub

Private Sub UserForm_Initialize()
SpinButton1.Min = 5
SpinButton1.Max = 22
End Sub

232644
 

Ekli dosyalar

Son düzenleme:
Kod:
Private Sub SpinButton1_SpinUp()
    If TextBox1.Value = "" Then TextBox1.Value = 0
        sayi = Val(Replace(TextBox1.Text, ",", "."))
        sayi = sayi + 0.1

        ondalik = Int((sayi - Int(sayi)) * 10)
        If ondalik > 6 Then
            sayi = Int(sayi) + 1
        End If
        TextBox1.Text = sayi
End Sub
Private Sub SpinButton1_SpinDown()
    If TextBox1.Value = "" Then TextBox1.Value = 0
        sayi = Val(Replace(TextBox1.Text, ",", "."))
        sayi = sayi - 0.1

        ondalik = Int((sayi - Int(sayi)) * 10)
        If ondalik = 9 Then
            sayi = sayi - 0.2
        End If
        TextBox1.Text = sayi
End Sub
 
Sayın Levent bey cevabınız için çok teşekkür ederim. Bu rakamlar 0,1 den başlayacak ama sonu belki 100,1 veya daha fazla gidebilir. Nasıl bir değişiklik yapmalıyım. Bu çalışmam bir iş yerindeki kullanılan saatlik izinler veya kazanılan fazla mesailer için
 
Sayın Veyselemre cevabınızı Levent beye cevap yazdıktan sonra gördüm sizin cevabınızıda deneyeceğim her ikinizede Teşekkürler
 
Bu rakamlar 0,1 den başlayacak ama sonu belki 100,1 veya daha fazla gidebilir. Nasıl bir değişiklik yapmalıyım. Bu çalışmam bir iş yerindeki kullanılan saatlik izinler veya kazanılan fazla mesailer için

İlk mesajımdaki 2. alternatifi deneyebilirsiniz.
 
Sayın Levent bey ve Sayın Veyselemre bey cevaplarınız için ikinizede teşekkür ederim sorunum çözüldü.
 
Geri
Üst