• DİKKAT

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

TextBox dizisindeki en büyük (1..2..3) değeri bulmak

Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Private Sub CommandButton1_Click()
Dim toplam
For i = 7 To 15
toplam = toplam + Val(Controls("TextBox" & i))
Next
TextBox16.Value = Format(toplam, "###,###")
End Sub

Yukarıdaki prosedürde yer alan textbox lardaki değerleri toplama uygulamasına benzer şekilde TextBox7 ile...TextBox15 larda yazılı değerlerin en büyük üçünü nasıl bulabiliriz...

Veya bir diğer değimle "M = Large("E4:E15", 3) " şeklinde excel hücrelerinde kullanılan...."= Large(Range,1...3)" formülünü nasıl kullanabilirim...
 
Aşağıdaki gibi deneyin.

Kod:
Dim deg(9)
For i = 7 To 15
deg(i) = CDbl(Controls("textbox" & i))
Next
MsgBox WorksheetFunction.Large(deg, 1) & Chr(10) & WorksheetFunction.Large(deg, 2) & Chr(10) & WorksheetFunction.Large(deg, 3)
 
Aşağıdaki gibi deneyin.

Kod:
Dim deg(9)
For i = 7 To 15
deg(i) = CDbl(Controls("textbox" & i))
Next
MsgBox WorksheetFunction.Large(deg, 1) & Chr(10) & WorksheetFunction.Large(deg, 2) & Chr(10) & WorksheetFunction.Large(deg, 3)

Levent Üstadım Sıralı 9 TextBox da yazılı sayılar içinden en büyük üçünü seçme konusunda yanıtı vermişti. Kendisine Teşekkür ederim...

Ek te yer alan örnek de bunu gösteriyor. Sıralı Numara takip eden (1...9) TextBox lar ve Sıralı numara takip eden (1....9) Label' lar var örnekte..

Öğrenmek istediğim, TextBox veya Label'ları kullanarak En büyük 1 nci sayı TextBox.X deki sayıdır, En büyük 2 nci sayı TextBox.X deki sayıdır, En büyük 3ncü sayı TextBox.X deki sayıdır, şeklinde bir sonuç bulabilirmiyiz? Ve bunu örnek te yer aldığı gibi MsgBox ile yazdırabilirmiyiz?

İlgileneceklere şimdiden teşekkürler.
 
Kod:
Private Sub CommandButton1_Click()
Dim deg(9)
    For i = 1 To 9
        deg(i) = CDbl(Controls("TextBox" & i)) + WorksheetFunction.Round(i / 100, 2)
    Next
    For i = 1 To 3
        buyuk = WorksheetFunction.Large(deg, i)
        sayi = Int(buyuk)
        sira = WorksheetFunction.Round((buyuk - sayi) * 100, 0)
        s = s & i & ". büyük sayı :" & sayi & vbTab & "Textbox No :" & sira & vbCr
    Next
    s = Left(s, Len(s) - 1)
    MsgBox s
End Sub
 
Veysel Hocam ne kadar teşekkür etsem azdır.

Farkında olan varmı bilmiyorum ama verdiğiniz örneğin bir eşi de sanırım (Hatalı olmayayım ama) forum da yok. Yani Yardım göründüğünden büyük... Çok teşekkürler...
 
Geri
Üst