texboxa girilen değer aralığındaki adeti bulma

Katılım
30 Mart 2006
Mesajlar
47
arkadaşlar macro ile bir textboxa girilen değerin öncelikle 101-300 arasında olup olmadığını kontol edecek eğer bu değer aralığında ise bu değer arasında en yüksekten başlamak koşulu ile sayacak
yani;
1000=300*2+100*1 bunun gibi işlemi nasıl yaptırabilrim.


şimdiden teşekkürler
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Formunuzun üzerine bir buton ekleyip aşağıdaki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    If TextBox1 = "" Then
    MsgBox "HENÜZ DEĞER GİRİLMEDİ !", vbInformation
    ElseIf CDbl(TextBox1) >= 101 And CDbl(TextBox1) <= 300 Then
    MsgBox "G&#304;R&#304;LEN DE&#286;ER 101-300 ARASINDA !", vbInformation
    Else
    MsgBox "G&#304;R&#304;LEN DE&#286;ER 101-300 ARASINDA B&#304;R DE&#286;ER DE&#286;&#304;L !", vbCritical
    End If
End Sub
 
Katılım
30 Mart 2006
Mesajlar
47
Selamlar,

Formunuzun üzerine bir buton ekleyip aşağıdaki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    If TextBox1 = "" Then
    MsgBox "HENÜZ DEĞER GİRİLMEDİ !", vbInformation
    ElseIf CDbl(TextBox1) >= 101 And CDbl(TextBox1) <= 300 Then
    MsgBox "GİRİLEN DEĞER 101-300 ARASINDA !", vbInformation
    Else
    MsgBox "GİRİLEN DEĞER 101-300 ARASINDA BİR DEĞER DEĞİL !", vbCritical
    End If
End Sub


emeğine sağlık,
fakat benim istediğim uygulama yazılan değerin 101-300 arasında bir değer ise en yüksekten itibaren sayıyı bölmeye başlıyacak.mesela
1000 rakamını girdiğini varsayalım
ilk önce 300'e bölecek içerisinde 2 tane 300 var peki daha sonra 1 tane de 100 var bana bu işlemleri yapacak kodlar lazım
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bu i&#351;lemi ne ama&#231;la yapmak istedi&#287;inizi a&#231;&#305;klarsan&#305;z yard&#305;mc&#305; olmaya &#231;al&#305;&#351;&#305;r&#305;z. Yani textboxa girilen de&#287;er ne olursa olsun ilk &#246;nce 300 de&#287;erinemi b&#246;l&#252;necek. Yap&#305;lacak i&#351;lemlerdeki s&#305;ralama nas&#305;l olacak.
 
Katılım
30 Mart 2006
Mesajlar
47
Selamlar,

Bu işlemi ne amaçla yapmak istediğinizi açıklarsanız yardımcı olmaya çalışırız. Yani textboxa girilen değer ne olursa olsun ilk önce 300 değerinemi bölünecek. Yapılacak işlemlerdeki sıralama nasıl olacak.
dosyada açıklamaya çalıştım umarım yeterince anlaşılır olmuştur.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

&#214;rnek olarak 505 de&#287;eri i&#231;in hesaplama nas&#305;l olmal&#305;?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,190
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

A&#351;a&#287;daki kodu denermisiniz.

Kod:
Private Sub CommandButton1_Click()
    Dim Kalan, Son
    TextBox1 = 0
    Kalan = TextBox3
    If Kalan = 0 Or Kalan = "" Then GoTo Son
    For X = 300 To 1 Step -1
    If Kalan = 0 Then GoTo Son
    If Int((Kalan / X)) > 0 Then
    If X > 100 And X < 301 Then
    TextBox1 = TextBox1 + (Int((Kalan / X)) * 5)
    ElseIf X > 0 And X < 101 Then
    TextBox1 = TextBox1 + (Int((Kalan / X)) * 3)
    End If
    End If
    Kalan = Kalan - Int((Kalan / X)) * X
    Next
Son: End Sub
 
Üst