Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1828to1832
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

Listbox Einträge sind ungewollt markiert

Listbox Einträge sind ungewollt markiert
07.05.2021 16:45:33
Oisse
Hallo Zusammen,
ich habe in VBA ein Formular mit einer Listbox erstellt und diese auf Multiselect eingestellt.
Wenn ich nun das Formular über einen Button eines Tabellenblattes öffne, werden mir alle Listeneinträge korrekt angezeigt.
Allerdings - und das ist nun das Problem - es sind immer der erste und der achte Eintrag markiert (von ca 200), was aber nicht sein darf.
Starte ich das Formular aus VBA heraus, wird nichts markiert.
Ich finde einfach den Fehler nicht. Woran könnte das liegen?
Hier der Code:

Private Sub UserForm_Initialize()
Dim wkb As Workbook
Dim wks_Vor As Worksheet
Dim wks_Red As Worksheet
Dim i&, lzVor&, lzRed&, lsRed&, x&
Set wkb = ThisWorkbook
Set wks_Vor = wkb.Worksheets("Vorträge")
Set wks_Red = wkb.Worksheets("Redner")
lzVor = wks_Vor.Cells(Rows.Count, 2).End(xlUp).Row
lsRed = wks_Red.Cells(2, Columns.Count).End(xlToLeft).Column
Me.ListBox1.ColumnCount = 3
Me.ListBox1.ColumnWidths = "20;280;70"
x = 0
For i = 2 To lzVor
With Me.ListBox1
.AddItem ""
.List(x, 0) = wks_Vor.Range("A" & i)
.List(x, 1) = wks_Vor.Range("B" & i)
.List(x, 2) = wks_Vor.Range("C" & i)
End With
x = x + 1
Next i
'Falls irgendwelche Einträge markiert sein sollten, werden sie hier unmarkiert
For i = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(i) = False
Next i
e = Selection.Rows.Row
Me.Caption = "Vortragsthemen für " & wks_Red.Cells(e, 1) & " zuordnen"
'Die Vorträge markieren, die beim Vortragsredner bereits eingetragen sind
For i = 0 To Me.ListBox1.ListCount - 1
For x = 9 To lsRed
If wks_Red.Cells(e, x) = "x" Then
If Me.ListBox1.List(i, 0) = wks_Red.Cells(2, x) Then
Me.ListBox1.Selected(i) = True
End If
End If
Next x
Next i
End Sub
Vielen Dank schon mal für die Hilfe
Gruß Oisse

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

Betreff
Datum
Anwender
Anzeige
AW: Listbox Einträge sind ungewollt markiert
07.05.2021 16:47:56
Hajo_Zi
Hallo Oisse,
es sollen allemarkiert werden die mit .Cells(2, x) übereinstimmt und das trifft zu.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
GrußformelHomepage
Anzeige
AW: Listbox Einträge sind ungewollt markiert
07.05.2021 16:50:20
Oberschlumpf
Hi,
allein nur im Code kann ich auch keinen Hinweis finden, wo die ungewollte Markierung stattfindet (was aber nich heißen soll, dass es dann im Code auch nicht so eine Stelle gibt; ich sehe sie nur auch nicht).
Du könntest aber den ganzen Code mit F8 Schritt für Schritt durchgehen und dabei die Listbox beobachten, wann genau eine/einige Zeilen markiert werden.
Du könntest uns auch per Upload eine Bsp-Datei mit Userform + Code zeigen.
Ciao
Thorsten
Nachtrag und Entschuldigung
07.05.2021 17:22:05
Oisse
Zunächst Danke für die Antworten.
Aber ich habe den ganzen Code gepostet.
Der eigentliche Teil, um den es geht, ist nur der erste Teil. Denn wenn ein Redner angelegt wird, müssen ja auch die Themen erst zugeordnet werden und es können somit noch keine Einträge in der Zeile vorhanden sein. Die Themen werden zunächst im Listenfeld angezeigt, ausgewählt und dann entsprechend in die jeweiligen Zellen übertragen.
Hier also der entsprechende Codeteil:

Private Sub UserForm_Initialize()
Dim wkb As Workbook
Dim wks_Vor As Worksheet
Dim wks_Red As Worksheet
Dim i&, lzVor&, lzRed&, lsRed&, x&
Set wkb = ThisWorkbook
Set wks_Vor = wkb.Worksheets("Vorträge")
Set wks_Red = wkb.Worksheets("Redner")
lzVor = wks_Vor.Cells(Rows.Count, 2).End(xlUp).Row
lsRed = wks_Red.Cells(2, Columns.Count).End(xlToLeft).Column
Me.ListBox1.ColumnCount = 3
Me.ListBox1.ColumnWidths = "20;280;70"
x = 0
For i = 2 To lzVor
With Me.ListBox1
.AddItem ""
.List(x, 0) = wks_Vor.Range("A" & i)
.List(x, 1) = wks_Vor.Range("B" & i)
.List(x, 2) = wks_Vor.Range("C" & i)
End With
x = x + 1
Next i
'Falls irgendwelche Einträge markiert sein sollten, werden sie hier unmarkiert
For i = 0 To Me.ListBox1.ListCount - 1
Me.ListBox1.Selected(i) = False
Next i
e = Selection.Rows.Row
Me.Caption = "Vortragsthemen für " & wks_Red.Cells(e, 1) & " zuordnen"
End Sub
Ich habe im Code ja bereits eingebaut, dass eventuell markierte Zeilen unmarkiert werden sollen.
Funktioniert aber leider nicht. Wie bereits beschrieben: Zeile eins und acht werden immer markiert, auch wenn der Redner noch gar keine Vorträge zugeteilt hat, die entsprechenden Felder also leer sind.
Anzeige
AW: Nachtrag und Entschuldigung
07.05.2021 17:25:43
Oberschlumpf
...und wieso wehrst du dich so dagegen, eine Bsp-Datei per Upload zu zeigen?
Sorry, aber du findest ja - mit - Datei den Fehler nicht. Wir sollen ihn aber ohne Datei finden? :-)
AW: Nachtrag und Entschuldigung
07.05.2021 17:43:52
Oisse
Ich wehr mich ja gar nicht dagegen. War gerade dabei und wollte euch nicht warten lassen. Es dauert halt seine Zeit.
Hier also die Mappe.
https://www.herber.de/bbs/user/146060.xlsm
Gruß Oisse
AW: Nachtrag und Entschuldigung
07.05.2021 19:41:44
onur
Das Problem ist Folgendes:
Da du, warum auch immer, ein einfaches Rechteck statt eines (Active-X-) Commandbuttons genommen hast, beisst sich das mit dem Klick-Event der Listbox - soll heissen: das Click-Event wird sowohl dem Rechteck als auch der Listbox zugeführt.
Lösung: Active-X-Button nehmen oder das Rechteck aus dem "Schatten" der Listbox verschieben.
Anzeige
AW: Nachtrag und Entschuldigung
07.05.2021 20:26:58
Oisse
Danke,
ich habe jetzt eine Schaltfläche vom Formularsteuerelemente genommen und dem das "Formular anzeigen" zugeordnet und es funktioniert einwandfrei.
Ich nehme lieber die Rechtecke, weil man sie schöner gestalten kann. Wusste nicht, dass sich das beißt. Bisher hatte ich noch keine derartigen Probleme.
Du sagtest etwas von: aus dem "Schatten" der Listbox verschieben.
Wie genau soll das funktionieren?
Gruß Oisse
AW: Nachtrag und Entschuldigung
07.05.2021 21:43:06
onur
Ich meinte damit, dass keine Überschneidungen zw. der Position des Rechtecks und der Listbox sind (dass das Rechteck nicht die Listbox berührt).
AW: Nachtrag und Entschuldigung
08.05.2021 09:16:21
Oisse
Guten Morgen onur,
viiiiielen herzlichen Dank. Da wär ich nie drauf gekommen, dass es an sowas liegen könnte. Jetzt hab ich das Rechteck verschoben und siehe da, es funktioniert einwandfrei. Noch ein schönes Wochenende.
Herzliche Grüße
Oisse
Anzeige
Gerne !
08.05.2021 10:07:03
onur

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige