HERBERS Excel-Forum - die Dialoge

Thema: Nur gleiches Datum

Home
Es können nur Datensätze des gleichen Datums ausgewählt werden. Nur gleiches Datum
  • Prozedur: lstValues_Change
  • Art: Ereignis
  • Modul: Klassenmodul der UserForm
  • Zweck: Nur gleiches Datum
  • Ablaufbeschreibung:
    • Deklaration einer Boolean-Variablen außerhalb einer Prozedur
    • Variablendeklaration
    • Wenn die Boolean-Variable TRUE ist, deren Wert auf FALSE setzen und Prozedur verlassen
    • Den Wert der ersten Spalte der ausgewählten Zeile der ListBox in eine String-Variable einlesen
    • Eine Schleife über alle Elemente der ListBox bilden
    • Wenn das aktuelle Element ausgewählt ist...
    • Zähler um eins hochzählen
    • Wenn der Zähler gleich zwei ist, die Schleife verlassen
    • Wenn der Zähler größer als 1 ist...
    • Eine Schleife über alle Elemente der ListBox bilden
    • Ist das aktuelle Element ausgewählt und entspricht der Wert in der ersten Spalte der aktuellen Zeile der String-Variablen...
    • Warnmeldung
    • Boolean-Variable auf TRUE setzen
    • Markierung aufheben
    • Schleife verlassen
  • Code:

    
    Dim bln As Boolean
    
    Private Sub lstValues_Change()
       Dim iRow As Integer, iCount As Integer
       Dim sTxt As String
       If bln Then
          bln = False
          Exit Sub
       End If
       sTxt = lstValues.List(lstValues.ListIndex, 0)
       For iRow = 0 To lstValues.ListCount - 1
          If lstValues.Selected(iRow) Then
             iCount = iCount + 1
             If iCount = 2 Then Exit For
          End If
       Next iRow
       If iCount < 1 Then
          For iRow = 0 To lstValues.ListCount - 1
             If iRow <> lstValues.ListIndex Then
                If lstValues.Selected(iRow) And CStr(lstValues.List(iRow, 0)) <> sTxt Then
                   MsgBox "Es dürfen nur Datensätze eines Datums ausgewählt werden!"
                   bln = True
                   lstValues.Selected(lstValues.ListIndex) = False
                   Exit For
                End If
             End If
          Next iRow
       End If
    End Sub