Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1196to1200
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
VBA UF: Values einer ListBox ansprechen
Holger,
Hallo,
ich habe mal wieder eine Idee für bessere Usability.
Idee 1:
Und zwar habe ich ein UF mit einer ListBox darauf.
Hier kann man nun eine oder mehrere Values auswählen.
Ich will nun unten eine TextBox einbauen, die immer anzeigt wieviele values man
gerade ausgewählt hat.
Dafür bräuchte ich aber ein Ereignis, welches in Kraft tritt wenn, wenn values
aktiviert bzw ausgewählt wird. Change Ereignis geht ja nicht weil hier
kann ich ja die anderen aktivierten Values nicht zählen.
Wie also sonst?
Idee2
Ebenso UF mit ListBox, hier allerdings per Option d.h. es kann immer nur einer
ausgewählt werden. Man kann durch die Liste scrollen und ich möchte den gerade
aktiven in fetter Schrift hervorheben.
Kein Schimmer wie, ist das möglich?

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA UF: Values einer ListBox ansprechen
19.01.2011 11:39:17
hary
Hallo Holger
Test fuer Idee1

Private Sub ListBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
Dim a As Long
a = a + 1
TextBox1 = a
End Sub

gruss hary
AW: VBA UF: Values einer ListBox ansprechen
19.01.2011 13:05:44
Holger,
Hallo Hary,
das geht leider nicht, da hier nur von oben nach unten gezählt wird.
Wenn aber ein Eintrag wieder entfernt wird, wird a nicht aktualisiert.
MouseUp geht wiederum nicht, weil hier der Stand von a nicht bekannt ist.
Verzwickt.
ListBox-Multiselected zählen
19.01.2011 13:13:15
Erich
Hallo Holger,
hier eine Alternative.
Die Routine mit XXX... ist nur zum Spielen...

Private Sub ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, _
ByVal Y As Single)
Dim ii As Long, lngA As Long
lngA = 0
With ListBox1
For ii = 0 To .ListCount - 1
lngA = lngA - ListBox1.Selected(ii)
Next ii
End With
TextBox1 = lngA
End Sub
Private Sub XXX_ListBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As  _
Single, ByVal Y As Single)
Dim ii As Long, lngA As Long
lngA = 0
With ListBox1
For ii = 0 To .ListCount - 1
If ListBox1.Selected(ii) Then
Cells(ii + 1, 1) = .List(ii)
lngA = lngA + 1
Else
Cells(ii + 1, 1).ClearContents
End If
Next ii
End With
TextBox1.Text = lngA
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
MouseUp
19.01.2011 14:22:06
Holger,
Hallo Erich,
was genau ist MouseUp für ein Ereignis?
Ich verstehe das nicht so ganz ...
Gruß+Dank
Holger
AW: MouseUp
19.01.2011 16:19:10
Erich
Hi Holger,
zunächst mal: Funktioniert es denn bei dir mit dem MouseUp?
Ich habe mal drei Fundstellen hier gegoogelt:
https://www.herber.de/forum/archiv/956to960/t958587.htm#958667
https://www.herber.de/forum/archiv/1192to1196/t1193102.htm#1193363
https://www.herber.de/forum/archiv/664to668/t665370.htm#665436
Kurz gesagt: Das MouseUp-Ereginis eines Kontrollelements (z. B. Button oder Listbox) wird ausgelöst dadurch,
dass man eine Maustaste über dem Kontrollelement loslässt, die Taste also wieder hochgeht.
Mit dem (vorherigen) MouseDown wird z. B. das Selektieren (Markieren) angestoßen,
beim MouseUp ist es dann erledigt.
Hast du dir in dder VBA-Hilfe mal den Abschnitt "MouseDown-, MouseUp-Ereignisse" angesehen?
(Findest du leicht, wenn du nach mouseup suchst)
Da steht z. B.:
"Treten ein, wenn der Benutzer mit einer Maustaste klickt. MouseDown tritt ein, wenn der Benutzer die Maustaste drückt, MouseUp tritt ein, wenn der Benutzer die Maustaste loslässt."
Reicht das als Erklärung?
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige