Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform.Listbox Markierung aufheben

Forumthread: Userform.Listbox Markierung aufheben

Userform.Listbox Markierung aufheben
25.11.2023 08:27:56
Mirel
Guten Morgen,
warum wird die Markierung der List Box nicht aufgehoben?
Danke!
Gruß
Mirel

https://www.herber.de/bbs/user/164574.xlsm
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform.Listbox Markierung aufheben
25.11.2023 08:35:49
Alwin Weisangler
Hallo Mirel,

Setze entweder den Tabindex der Listbox auf 0 oder Textbox1.SetFocus.
Dann erreichst du diesen Zustand.

Gruß Uwe
AW: Userform.Listbox Markierung aufheben
25.11.2023 09:56:25
onur
Bei SingleSelect-Listboxen
gewählter Eintrag: ListIndex= 0 für den ersten, 1 für den 2. usw usw
und -1 für keinen ausgewählten.
AW: Userform.Listbox Markierung aufheben
25.11.2023 10:25:46
Mirel
Danke Euch allen,
aber es geht einfach nicht!
Option Explicit
Private Sub UserForm_Activate()
Dim WP As Worksheet
Set WP = ThisWorkbook.Worksheets("P")
With Me.RGStand_ListProjekt
.Clear
.ColumnCount = 2
.ColumnWidths = "50;200"
.Enabled = True
.MatchEntry = fmMatchEntryComplete
.MousePointer = 0
.MultiSelect = fmMultiSelectSingle
.TabIndex = 1
.TabStop = False
Dim i As Integer
For i = 2 To WP.Cells(Rows.Count, 2).End(xlUp).Row
.AddItem
.List(i - 2, 0) = WP.Cells(i, 2).Value
.List(i - 2, 1) = WP.Cells(i, 3).Value
Next i
End With
End Sub

Private Sub RGStand_ListProjekt_Click()
With RGStand_ListProjekt
TextBox1.Text = .List(.ListIndex, 1)
End With
Lst
TextBox1.SetFocus
End Sub
Sub Lst()
Dim i As Integer
With Me.RGStand_ListProjekt
For i = 0 To .ListCount - 1
If .Selected(i) = True Then
.Selected(i) = False
End If
Next
End With
End Sub
Anzeige
AW: Userform.Listbox Markierung aufheben
25.11.2023 10:41:20
onur
Nimm ein anderes Event. Das Klick-Eventmakro wird VOR dem Klick ausgeführt. Soll heissen: du klickst auf nr2, Bevor das ausgeführt wird, kommt das Makro und setzt auf 0, aber dann wird erst auf nr2 gesetzt.
Das heisst: das Klicken bedeutet eine Auswahl bei der Listbox, die dann auch ausgeführt wird.
Das ist Quatsch:
If .Selected(i) = True Then

.Selected(i) = False
End If

da exakt das selbe wie
.Selected(i) = False

Anzeige
AW: Userform.Listbox Markierung aufheben
25.11.2023 11:38:50
Mirel
Danke an alle,

habe es so gelöst!
Private Sub RGStand_ListProjekt_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
On Error GoTo ErrorHandler
With RGStand_ListProjekt
If .ListIndex >= 0 And .ListIndex .ListCount Then
TextBox1.Text = .List(.ListIndex, 1)
End If

TextBox1.SetFocus
Sleep 300
.ListIndex = -1
End With
Exit Sub
ErrorHandler:
Debug.Print Err.Description
End Sub
Anzeige
AW: Userform.Listbox Markierung aufheben
25.11.2023 09:56:04
Mirel
Hallo,
scheinbar bin ich oder meine List box zu blöde!
Private Sub RGStand_ListProjekt_Click()
With RGStand_ListProjekt
TextBox1.Text = .List(.ListIndex, 1)
End With
bolCode = False
Lst
TextBox1.SetFocus
End Sub
Sub Lst()
If Not bolCode Then
With Me.RGStand_ListProjekt
If .ListIndex > -1 Then
MsgBox .Value
.ListIndex = -1
bolCode = True
End If
End With
Else
bolCode = False
End If
End Sub
Es wird die Markierung nicht aufgehoben!
Danke!
Gruß
Mirel
Anzeige
AW: Userform.Listbox Markierung aufheben
25.11.2023 09:06:08
Mirel
Hallo Uwe,
Danke für Deine Ratschlag!

Leider funktioniert es nicht.
Private Sub RGStand_ListProjekt_Click()
With RGStand_ListProjekt
TextBox1.Text = .List(.ListIndex, 1)
Dim i As Integer
For i = 0 To .ListCount - 1
MsgBox i
If .Selected(i) = True Then
.Selected(i) = False
Else
End If
Next
.TabIndex = 0
End With
TextBox1.SetFocus

End Sub
Anzeige
AW: Userform.Listbox Markierung aufheben
25.11.2023 09:22:47
Alwin Weisangler
Hallo Mirel,

klar funktionierts. Anbei deine Demodatei.
https://www.herber.de/bbs/user/164575.xlsm

Da ist ledglich der TabIndex auf 0 gesetzt.

Gruß Uwe
AW: Userform.Listbox Markierung aufheben
25.11.2023 09:40:49
Alwin Weisangler
ich hatte es falsch verstanden. Du willst nach Klick in die Listbox am Ende deselektieren.
Ändere es so:



Option Explicit

Sub LbLaden()
Dim WP As Worksheet, i&
Set WP = ThisWorkbook.Worksheets("P")
With Me.RGStand_ListProjekt
.Clear
.ColumnCount = 2
.ColumnWidths = "50;200"
For i = 2 To WP.Cells(Rows.Count, 2).End(xlUp).Row
.AddItem
.List(i - 2, 0) = WP.Cells(i, 2).Value
.List(i - 2, 1) = WP.Cells(i, 3).Value
Next i
End With
TextBox1.SetFocus
End Sub

Private Sub RGStand_ListProjekt_Click()
Dim i&
With RGStand_ListProjekt
TextBox1.Text = .List(.ListIndex, 1)
For i = 0 To .ListCount - 1
MsgBox i
Next
LbLaden
End With
End Sub

Private Sub UserForm_Initialize()
LbLaden
End Sub

damit bist du alle Probleme los.
Kleiner Hinweis am Rande:
.AddItem ist die lahmste Methode zum Laden.

Gruß Uwe

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige