Hej, <code>Funktion för listbox
Jag har ett problem som består av att ska mata in ett antal siffror som sedan skriver in följande i en textuta: (beroende på vilka tal som matats in)
Antal positiva tal = 6
Summan av talen = 25
Största talet = 10
Talet 0 finns?
talet som testas finns i en textruta som jämförs med listrutan.
Koden för att skriva ut i textrutan är:
Private Sub Form_Click()
Dim meddelande As String
meddelande = "antal positiva tal= " & antpostal(listrT) & vbCrLf
meddelande = meddelande & "summa = " & summaavlista(listrT) & vbCrLf
meddelande = meddelande & " Största tal " & maxavlista(listrT) & vbCrLf
meddelande = meddelande & "Talet " & textsök & "finns?" & Finnlista(listrT, textsök)
Text1.Text = meddelande
End Sub
Den första funktionen som räknar antal positiva tal har jag löst.
Public Function antpostal(listrT As ListBox) As Integer
Dim antal As Integer, nr As Integer, slut As Integer
antal = 0
slut = listrT.ListCount - 1
For nr = 0 To slut
If listrT.List(nr) >= 0 Then
antal = antal + 1
End If
Next
antpostal = antal
End Function
Men här efter är det stopp.
Det är alltså funktionerna, SUMMAN , STÖRSTA TALET och OM TALET FINNS, som jag har problem med.
/MartinSv: Funktion för listbox
Public Function Summa(listrT As ListBox) As Integer
Dim i As Integer
For i = 0 To listrT.ListCount - 1
Summa = Summa + listrT.List(i)
Next
End Function
Public Function Max(listrT As ListBox) As Integer
Dim i As Integer
Max=listrT.List(0)
For i = 1 To listrT.ListCount - 1
If Max < listrT.List(i) Then Max = listrT.List(i)
Next
End Function
Public Function ILista(listrT As ListBox, Tal As Integer) As Boolean
Dim i As Integer
For i = 0 To listrT.ListCount - 1
if listrT.List(i) = Tal then ILista = True: Exit Sub
Next
End Function
</code>
Jag hoppas för din egen skull att det inte är någon form av skolarbete. Du lär dig inte mycket på att få färdig kod.
För övrigt anser jag att namnvalen är lite knepiga. listrT ? va?
Borde heta ListBox eller lstnågonting.
/Niklas Jansson