Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1004to1008
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

fmMultiSelectExtended

fmMultiSelectExtended
26.08.2008 06:37:09
Josef
Hallo!
Mit "Label1.Caption = ListBox1.ListCount" wird die Anzahl der eingetragenen Zeilen in der ListBox
in das Label1 eingetragen.
Mit "fmMultiSelectExtended" in den Eigenschaften der ListBox kann in der ListBox eine Auswahl getroffen werden.
Besteht hier bitte die Möglichkeit, mittels Auswahl die Anzahl im Label1 zu steuern?
Wenn ja, wie würde hier bitrte eine Lösung lauten?
Danke
Josef

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: fmMultiSelectExtended
26.08.2008 09:51:00
Luschi
Hallo Josef,
bei mir klappt das so:

Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, _
ByVal Y As Single)
Dim i1 As Integer, i2 As Integer, i3 As Integer
Exit Sub
i1 = Me.ListBox1.ListCount
i3 = 0
For i2 = 0 To i1 - 1
If Me.ListBox1.Selected(i2) Then
i3 = i3 + 1
End If
Next i2
Me.Label1.Caption = i3 & " von " & i1 & " Elemente sind markiert"
End Sub

Gruß von Luschi
aus klein-Paris

AW: fmMultiSelectExtended
26.08.2008 10:51:00
Josef
Hallo Luschi!
Danke für Deine Antwort.
Habe es jetzt getestet , es tut sich aber leider nichts.
Muß in der MultiSelect Eigenschaft in der ListBox 0 eingestellt sein?
Wie müßte ich hier bitte vorgehen?
Mein angepasster Code;

Private Sub ListBox9_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, _
_
ByVal Y As Single)
Dim i1 As Integer, i2 As Integer, i3 As Integer
Exit Sub
i1 = Me.ListBox9.ListCount
i3 = 0
For i2 = 0 To i1 - 1
If Me.ListBox9.Selected(i2) Then
i3 = i3 + 1
End If
Next i2
Me.Label158.Caption = i3 & " von " & i1 & " Elemente sind markiert"
End Sub


Danke
Josef

Anzeige
sorry, mein Fehler...
26.08.2008 11:03:00
Luschi
Hallo Josef,
schmeiß mal diese Zeile raus:
Exit Sub
Gruß von Luschi
aus klein-Paris
AW: sorry, mein Fehler...
26.08.2008 11:40:21
Josef
Hallo Luschi!
Jetzt würde es passen.
Normalerweise werden beim Klick in die ListBox die Daten über eine ComboBox in die entsprechenden TextBoxen eingelesen. Voraussetzung = MultliSelect = 0

Private Sub ListBox9_Click()
On Error Resume Next
ComboBox35.Text = ListBox9.Column(0)
Nachdem Deine Lösung nur mit MultiSelect (1) und (2) funktioniert und nicht mit 0
habe ich mittels Togglebutton versucht das Problem zu lösen. Leider ohne Erfolg.


Private Sub ToggleButton3_Click()
If ToggleButton3.Value = True Then
ListBox9.MultiSelect = 1
If ToggleButton3.Value = False Then
ListBox9.MultiSelect = 0
End If
End If
End Sub


Bei ToogleButton3.Value funktioniert alles. Es wird auf MultiSelect 1 umgeschalten und Deine Lösung funktioniert bestens.
Wenn ich jedoch den ToogleButton3 wieder zurück auf False schalte, also MultiSelect = 0, dann werden bei Klick in die Listbox die Daten in die Textbox nicht merh eingelesen.
Wo könnte ich da den Fehler bitte gemacht haben?
Danke
Josef

Anzeige
AW: sorry, mein Fehler...
26.08.2008 12:06:00
Josef
Hallo Luschi!
Habe den Fehler gefunden:
Richtig wäre

Private Sub ToggleButton3_Click()
If ToggleButton3.Value = True Then
ListBox9.MultiSelect = 1
End If
If ToggleButton3.Value = False Then
ListBox9.MultiSelect = 0
End If
End Sub


Danke für Deine Mühe und Deine Hilfe
Josef

AW: sorry, mein Fehler...
26.08.2008 12:43:41
Luschi
Hallo Josef,
das kann man auch kürzer so schreiben, denn ToggleButton hat nur 2 Werte ('True' und 'False)':

Private Sub ToggleButton3_Click()
If Me.ToggleButton3.Value Then
Me.ListBox9.MultiSelect = 1
Else
Me.ListBox9.MultiSelect = 0
End If
End Sub


Hinweis: 'If' wertet immer den Gesamtausdruck aus, ob der 'True' ist
Deshalb entspricht 'If ToggleButton3.Value' dem hier 'ToggleButton3.Value = True'
Nur muß Excel-Vba im letzten Fall 2 Vergleiche mehr machen:
Prüfen Ausdruck vor den Gleichheitszeichen, Ausdruck nach dem Gleichheitszeichen und
Prüfen Gesamtausdruck. Alles muß 'True' ergeben, damit der Ja-Zweig ausgeführt wird.
Noch kürzer ist aber:


Private Sub ToggleButton3_Click()
Me.ListBox9.MultiSelect = Abs(Me.ToggleButton3.Value)
End Sub


Abs(..) deshalb, weil True mathematisch den Wert -1 hat.
Gruß von Luschi
aus klein-Paris

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige