HERBERS Excel-Forum - die Dialoge

Thema: Wert in Liste vertikal zentrieren

Home
Eine Zufallszahl aus ListBox-Werten soll immer zentriert in der Auswahl angezeigt werden. Wert in Liste vertikal zentrieren
  • Prozedur: cmdZufall_Click
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Wert in Liste vertikal zentrieren
  • Ablaufbeschreibung:
    • Variablendeklaration
    • Den aktuellen ListIndex in eine Integer-Variable einlesen
    • Zufallszahlgenerator neu initialisieren
    • Zufallszahl bestimmen
    • Zufallszahl um eins vermindern
    • Wenn die Zufallszahl größer als 2 und kleiner als 98 ist...
    • Wenn die aktuelle Position größer als die Zufallszahl ist...
    • Element mit dem Index zwei kleiner als Zufallszahl auswählen
    • Das Element zwei Positionen unter der aktuellen Position auswählen
    • Sonst...
    • Element mit dem Index zwei größer als Zufallszahl auswählen
    • Das Element zwei Positionen über der aktuellen Position auswählen
    • Wenn-Abfrage beenden
    • Sonst...
    • Das Element, dessen Index der Zufallszahl entspricht, auswählen
  • Code:

    
    Private Sub cmdZufall_Click()
       Dim iCount As Integer, iAct As Integer
       iAct = lstZufall.ListIndex
       Randomize
       iCount = Int((100 * Rnd) + 1)
       iCount = iCount - 1
       If iCount > 2 And iCount < 98 Then
          If iAct > iCount Then
             lstZufall.ListIndex = iCount - 2
             lstZufall.ListIndex = iCount
          Else
             lstZufall.ListIndex = iCount + 2
             lstZufall.ListIndex = iCount
          End If
       Else
          lstZufall.ListIndex = iCount
       End If
    End Sub