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...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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)
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
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.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,591
Excel Vers. ve Dili
Pro Plus 2021
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
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
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...
 
Üst